/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * BrewNotesFrame.java
 *
 * Created on Feb 15, 2011, 9:08:26 AM
 */

package gbbmgmt;

import java.awt.Color;
import java.util.*;
import org.jdesktop.application.Action;
//import javax.swing.JOptionPane;
import javax.swing.table.*;
import java.text.*;
//import javax.swing.JMenuItem;
//import javax.swing.JPopupMenu;
//import java.awt.event.MouseEvent;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
import java.awt.KeyboardFocusManager;
//import java.beans.PropertyChangeEvent;
import java.beans.*;




/**
 *
 * @author dchapman
 */
public class BrewNotesFrame extends javax.swing.JFrame {

    //Variables for calculations.
    public ArrayList<String[]> Brews;
    public ArrayList<String[]> Beers;
    public ArrayList<String[]> Brewers;
    public ArrayList<String[]> Hops;
    public ArrayList<String[]> Yeast;
    public ArrayList<String[]> Vessels;
    public ArrayList<String[]> HarvBatch;
    public ArrayList<String[]> Capacities;
    public ArrayList<String[]> Choice;

    public float GUtot = 0;
    public float VolFinal = 0;
    public float GUTOT = 0;
    public float MASHLBS = 0;
    public float TOTALIBU = 0;
    java.util.Date Today;
    public String CTIME = "";

    /** Creates new form BrewNotesFrame */
    public BrewNotesFrame() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel5 = new javax.swing.JPanel();
        jPopupMenu1 = new javax.swing.JPopupMenu();
        buttonGroupYeast = new javax.swing.ButtonGroup();
        buttonGroup1 = new javax.swing.ButtonGroup();
        jButtonBrewLast = new javax.swing.JButton();
        jButtonBrewFirst = new javax.swing.JButton();
        jButtonBrewPrev = new javax.swing.JButton();
        jButtonBrewNext = new javax.swing.JButton();
        jButtonSearch = new javax.swing.JButton();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel15 = new javax.swing.JPanel();
        jLabelBeer = new javax.swing.JLabel();
        jComboBoxBeer = new javax.swing.JComboBox();
        jButtonStartBrew = new javax.swing.JButton();
        jLabel71 = new javax.swing.JLabel();
        jDateChooser1 = new com.toedter.calendar.JDateChooser();
        jLabel70 = new javax.swing.JLabel();
        jComboBoxBrewers = new javax.swing.JComboBox();
        jSeparator1 = new javax.swing.JSeparator();
        jLabelBID = new javax.swing.JLabel();
        jLabel80 = new javax.swing.JLabel();
        jLabelBState = new javax.swing.JLabel();
        jLabel81 = new javax.swing.JLabel();
        jLabelTOG = new javax.swing.JLabel();
        jLabel95 = new javax.swing.JLabel();
        jLabelTVOL = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jLabelAOG = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jLabelATG = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jLabelAVol = new javax.swing.JLabel();
        jLabel20 = new javax.swing.JLabel();
        jLabelABV = new javax.swing.JLabel();
        jLabel28 = new javax.swing.JLabel();
        jLabelABW = new javax.swing.JLabel();
        jLabelIBU = new javax.swing.JLabel();
        jLabel46 = new javax.swing.JLabel();
        jLabel55 = new javax.swing.JLabel();
        jLabelPri = new javax.swing.JLabel();
        jLabel77 = new javax.swing.JLabel();
        jLabelSec = new javax.swing.JLabel();
        jLabel78 = new javax.swing.JLabel();
        jLabelCon = new javax.swing.JLabel();
        jSeparator2 = new javax.swing.JSeparator();
        jLabel85 = new javax.swing.JLabel();
        jLabel86 = new javax.swing.JLabel();
        jLabelLagVes = new javax.swing.JLabel();
        jLabelLagTemp = new javax.swing.JLabel();
        jLabelLagSG = new javax.swing.JLabel();
        jLabel87 = new javax.swing.JLabel();
        jLabelLagMoved = new javax.swing.JLabel();
        jLabelLagDate = new javax.swing.JLabel();
        jLabelLagTime = new javax.swing.JLabel();
        jLabelLagNotes = new javax.swing.JLabel();
        jLabel88 = new javax.swing.JLabel();
        jLabel89 = new javax.swing.JLabel();
        jLabelCondVes = new javax.swing.JLabel();
        jLabel90 = new javax.swing.JLabel();
        jLabelCondMoved = new javax.swing.JLabel();
        jLabel91 = new javax.swing.JLabel();
        jLabelCondPSI = new javax.swing.JLabel();
        jLabelCondTemp = new javax.swing.JLabel();
        jLabelCondSG = new javax.swing.JLabel();
        jLabelCondDate = new javax.swing.JLabel();
        jLabelCondTime = new javax.swing.JLabel();
        jLabel92 = new javax.swing.JLabel();
        jLabel93 = new javax.swing.JLabel();
        jLabelPkgDate = new javax.swing.JLabel();
        jSeparator3 = new javax.swing.JSeparator();
        jLabel101 = new javax.swing.JLabel();
        jLabelBatch = new javax.swing.JLabel();
        jComboBoxVolume = new javax.swing.JComboBox();
        jPanel16 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTableMalt = new javax.swing.JTable();
        jLabel2 = new javax.swing.JLabel();
        jLabel67 = new javax.swing.JLabel();
        jLabel68 = new javax.swing.JLabel();
        jLabel69 = new javax.swing.JLabel();
        jLabel62 = new javax.swing.JLabel();
        jLabel63 = new javax.swing.JLabel();
        jLabel64 = new javax.swing.JLabel();
        jLabel65 = new javax.swing.JLabel();
        jLabel66 = new javax.swing.JLabel();
        jLabelChalk = new javax.swing.JLabel();
        jLabelNaCl = new javax.swing.JLabel();
        jLabelEps = new javax.swing.JLabel();
        jLabelCaCl = new javax.swing.JLabel();
        jLabelGyp = new javax.swing.JLabel();
        jTextFieldMineral1 = new javax.swing.JTextField();
        jTextFieldMineral2 = new javax.swing.JTextField();
        jTextFieldMineral3 = new javax.swing.JTextField();
        jTextFieldMineral4 = new javax.swing.JTextField();
        jTextFieldMineral5 = new javax.swing.JTextField();
        jPanel17 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jTextFieldHydStart = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jTextFieldHydStop = new javax.swing.JTextField();
        jLabelHydTime = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jTextFieldFlowRate = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jTextFieldHydTemp = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        jLabelHydVol = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jTextFieldMashStart = new javax.swing.JTextField();
        jLabel19 = new javax.swing.JLabel();
        jTextFieldVorStart = new javax.swing.JTextField();
        jLabelVorlauft = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jTextFieldMashStop = new javax.swing.JTextField();
        jLabelMashTime = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        jTextFieldMashPh = new javax.swing.JTextField();
        jLabel24 = new javax.swing.JLabel();
        jTextFieldMashTemp = new javax.swing.JTextField();
        jLabel16 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        jTextFieldMashNotes = new javax.swing.JTextField();
        jLabel21 = new javax.swing.JLabel();
        jLabel22 = new javax.swing.JLabel();
        jLabel25 = new javax.swing.JLabel();
        jLabel26 = new javax.swing.JLabel();
        jTextFieldSpargeStart = new javax.swing.JTextField();
        jTextFieldSpargePh = new javax.swing.JTextField();
        jTextFieldSpargeTemp = new javax.swing.JTextField();
        jLabel27 = new javax.swing.JLabel();
        jTextFieldSpargeGrav = new javax.swing.JTextField();
        jLabel23 = new javax.swing.JLabel();
        jTextFieldSpargeStop = new javax.swing.JTextField();
        jLabelSpargeTime = new javax.swing.JLabel();
        jLabel29 = new javax.swing.JLabel();
        jTextFieldSpargeNotes = new javax.swing.JTextField();
        jLabelMashTemp = new javax.swing.JLabel();
        jPanel18 = new javax.swing.JPanel();
        jLabel30 = new javax.swing.JLabel();
        jLabel39 = new javax.swing.JLabel();
        jTextFieldPBVol = new javax.swing.JTextField();
        jLabel40 = new javax.swing.JLabel();
        jLabel41 = new javax.swing.JLabel();
        jTextFieldPBGrav = new javax.swing.JTextField();
        jLabel42 = new javax.swing.JLabel();
        jLabelEstOG = new javax.swing.JLabel();
        jLabel44 = new javax.swing.JLabel();
        jTextFieldBoilStart = new javax.swing.JTextField();
        jLabel45 = new javax.swing.JLabel();
        jTextFieldBoilStop = new javax.swing.JTextField();
        jLabelBoilTime = new javax.swing.JLabel();
        jLabel31 = new javax.swing.JLabel();
        jComboBoxHop1 = new javax.swing.JComboBox();
        jComboBoxHop2 = new javax.swing.JComboBox();
        jTextFieldHopLbs2 = new javax.swing.JTextField();
        jTextFieldHopTime10 = new javax.swing.JTextField();
        jTextFieldHopLbs4 = new javax.swing.JTextField();
        jTextFieldHopLbs3 = new javax.swing.JTextField();
        jTextFieldHopTime7 = new javax.swing.JTextField();
        jTextFieldHopTime6 = new javax.swing.JTextField();
        jTextFieldHopTime9 = new javax.swing.JTextField();
        jTextFieldHopTime8 = new javax.swing.JTextField();
        jTextFieldHopLbs5 = new javax.swing.JTextField();
        jTextFieldHopLbs6 = new javax.swing.JTextField();
        jComboBoxHop6 = new javax.swing.JComboBox();
        jComboBoxHop5 = new javax.swing.JComboBox();
        jComboBoxHop4 = new javax.swing.JComboBox();
        jComboBoxHop3 = new javax.swing.JComboBox();
        jComboBoxHop10 = new javax.swing.JComboBox();
        jComboBoxHop9 = new javax.swing.JComboBox();
        jComboBoxHop8 = new javax.swing.JComboBox();
        jComboBoxHop7 = new javax.swing.JComboBox();
        jTextFieldHopLbs9 = new javax.swing.JTextField();
        jTextFieldHopLbs10 = new javax.swing.JTextField();
        jLabelHopUtil2 = new javax.swing.JLabel();
        jLabelHopBT2 = new javax.swing.JLabel();
        jTextFieldHopLbs7 = new javax.swing.JTextField();
        jLabelHopExp7 = new javax.swing.JLabel();
        jTextFieldHopLbs8 = new javax.swing.JTextField();
        jLabelHopIBU2 = new javax.swing.JLabel();
        jLabelHopExp2 = new javax.swing.JLabel();
        jLabelHopBT3 = new javax.swing.JLabel();
        jLabelHopUtil3 = new javax.swing.JLabel();
        jLabelHopBT10 = new javax.swing.JLabel();
        jLabelHopExp9 = new javax.swing.JLabel();
        jLabelHopExp8 = new javax.swing.JLabel();
        jLabelHopBT5 = new javax.swing.JLabel();
        jLabelHopExp10 = new javax.swing.JLabel();
        jLabelHopBT7 = new javax.swing.JLabel();
        jLabelHopBT6 = new javax.swing.JLabel();
        jLabelHopBT9 = new javax.swing.JLabel();
        jLabelHopBT8 = new javax.swing.JLabel();
        jLabelHopExp3 = new javax.swing.JLabel();
        jLabelHopUtil4 = new javax.swing.JLabel();
        jLabelHopIBU3 = new javax.swing.JLabel();
        jLabelHopExp4 = new javax.swing.JLabel();
        jLabelHopUtil5 = new javax.swing.JLabel();
        jLabelHopBT4 = new javax.swing.JLabel();
        jLabelHopIBU4 = new javax.swing.JLabel();
        jLabelHopUtil8 = new javax.swing.JLabel();
        jLabel36 = new javax.swing.JLabel();
        jLabel35 = new javax.swing.JLabel();
        jLabelHopUtil6 = new javax.swing.JLabel();
        jLabel34 = new javax.swing.JLabel();
        jLabelHopUtil7 = new javax.swing.JLabel();
        jLabel33 = new javax.swing.JLabel();
        jTextFieldHopTime1 = new javax.swing.JTextField();
        jTextFieldHopLbs1 = new javax.swing.JTextField();
        jLabel32 = new javax.swing.JLabel();
        jLabelHopUtil9 = new javax.swing.JLabel();
        jLabelHopUtil10 = new javax.swing.JLabel();
        jLabelHopIBU5 = new javax.swing.JLabel();
        jLabelHopIBU6 = new javax.swing.JLabel();
        jLabelHopIBU7 = new javax.swing.JLabel();
        jLabelHopIBU8 = new javax.swing.JLabel();
        jLabelHopIBU9 = new javax.swing.JLabel();
        jLabelHopIBU10 = new javax.swing.JLabel();
        jLabelHopExp5 = new javax.swing.JLabel();
        jTextFieldHopTime4 = new javax.swing.JTextField();
        jLabelHopExp6 = new javax.swing.JLabel();
        jTextFieldHopTime3 = new javax.swing.JTextField();
        jTextFieldHopTime5 = new javax.swing.JTextField();
        jLabel37 = new javax.swing.JLabel();
        jLabel38 = new javax.swing.JLabel();
        jLabelHopExp1 = new javax.swing.JLabel();
        jLabelHopIBU1 = new javax.swing.JLabel();
        jLabelHopUtil1 = new javax.swing.JLabel();
        jLabelHopBT1 = new javax.swing.JLabel();
        jTextFieldHopTime2 = new javax.swing.JTextField();
        jPanel19 = new javax.swing.JPanel();
        jLabel52 = new javax.swing.JLabel();
        jLabel53 = new javax.swing.JLabel();
        jTextFieldKOStart = new javax.swing.JTextField();
        jLabelKOTime = new javax.swing.JLabel();
        jLabel54 = new javax.swing.JLabel();
        jTextFieldKOStop = new javax.swing.JTextField();
        jLabel56 = new javax.swing.JLabel();
        jTextFieldKOTemp = new javax.swing.JTextField();
        jLabel59 = new javax.swing.JLabel();
        jTextFieldO2 = new javax.swing.JTextField();
        jLabel60 = new javax.swing.JLabel();
        jLabel57 = new javax.swing.JLabel();
        jTextFieldVolFin = new javax.swing.JTextField();
        jLabel58 = new javax.swing.JLabel();
        jLabel61 = new javax.swing.JLabel();
        jTextFieldOG = new javax.swing.JTextField();
        jLabel96 = new javax.swing.JLabel();
        jTextFieldWortpH = new javax.swing.JTextField();
        jLabel51 = new javax.swing.JLabel();
        jTextFieldRestStart = new javax.swing.JTextField();
        jLabel49 = new javax.swing.JLabel();
        jTextFieldWhirlStop = new javax.swing.JTextField();
        jLabel50 = new javax.swing.JLabel();
        jTextFieldWhirlStart = new javax.swing.JTextField();
        jLabel47 = new javax.swing.JLabel();
        jLabel48 = new javax.swing.JLabel();
        jLabelWPTime = new javax.swing.JLabel();
        jLabelRestTime = new javax.swing.JLabel();
        jTextFieldRestStop = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        jTextFieldYeastVol = new javax.swing.JTextField();
        jLabel74 = new javax.swing.JLabel();
        jLabel75 = new javax.swing.JLabel();
        jLabelYeastGen = new javax.swing.JLabel();
        jRadioButtonFreshPitch = new javax.swing.JRadioButton();
        jRadioButtonRePitch = new javax.swing.JRadioButton();
        jLabel97 = new javax.swing.JLabel();
        jLabel98 = new javax.swing.JLabel();
        jComboBoxHarvVes = new javax.swing.JComboBox();
        jLabel99 = new javax.swing.JLabel();
        jComboBoxHarvBatch = new javax.swing.JComboBox();
        jLabel100 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jLabel76 = new javax.swing.JLabel();
        jLabel7TargetTemp = new javax.swing.JLabel();
        jComboBoxFermVessel = new javax.swing.JComboBox();
        jLabel73 = new javax.swing.JLabel();
        jTextFieldPitchTime = new javax.swing.JTextField();
        jComboBoxYeast = new javax.swing.JComboBox();
        jLabel72 = new javax.swing.JLabel();
        jLabel94 = new javax.swing.JLabel();
        jPanel20 = new javax.swing.JPanel();
        jLabel82 = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTablePrimaryFermentation = new javax.swing.JTable();
        jLabel83 = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTableDRest = new javax.swing.JTable();
        jLabel84 = new javax.swing.JLabel();
        jScrollPane4 = new javax.swing.JScrollPane();
        jTableCrash = new javax.swing.JTable();
        jTextFieldSNum = new javax.swing.JTextField();
        jButtonUpdate = new javax.swing.JButton();
        jButtonNewRecord = new javax.swing.JButton();
        jButtonExit = new javax.swing.JButton();
        jButtonPrintRecipe = new javax.swing.JButton();
        jComboBoxBrews = new javax.swing.JComboBox();
        jLabel43 = new javax.swing.JLabel();
        jRadioButtonN1 = new javax.swing.JRadioButton();
        jRadioButtonN2 = new javax.swing.JRadioButton();
        jRadioButtonN3 = new javax.swing.JRadioButton();
        jRadioButtonN4 = new javax.swing.JRadioButton();
        jRadioButtonN5 = new javax.swing.JRadioButton();
        jRadioButtonN6 = new javax.swing.JRadioButton();
        jLabeli1 = new javax.swing.JLabel();
        jComboBoxChoice = new javax.swing.JComboBox();

        jPanel5.setName("jPanel5"); // NOI18N

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        jPopupMenu1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        jPopupMenu1.setName("jPopupMenu1"); // NOI18N
        jPopupMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jPopupMenu1MousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jPopupMenu1MouseReleased(evt);
            }
        });

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(gbbmgmt.GBBMGMTApp.class).getContext().getResourceMap(BrewNotesFrame.class);
        setTitle(resourceMap.getString("Form.title")); // NOI18N
        setName("Form"); // NOI18N
        addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                formMouseReleased(evt);
            }
        });

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(gbbmgmt.GBBMGMTApp.class).getContext().getActionMap(BrewNotesFrame.class, this);
        jButtonBrewLast.setAction(actionMap.get("LastRecord")); // NOI18N
        jButtonBrewLast.setText(resourceMap.getString("jButtonBrewLast.text")); // NOI18N
        jButtonBrewLast.setName("jButtonBrewLast"); // NOI18N

        jButtonBrewFirst.setAction(actionMap.get("FirstRecord")); // NOI18N
        jButtonBrewFirst.setText(resourceMap.getString("jButtonBrewFirst.text")); // NOI18N
        jButtonBrewFirst.setName("jButtonBrewFirst"); // NOI18N

        jButtonBrewPrev.setAction(actionMap.get("PrevRecord")); // NOI18N
        jButtonBrewPrev.setText(resourceMap.getString("jButtonBrewPrev.text")); // NOI18N
        jButtonBrewPrev.setName("jButtonBrewPrev"); // NOI18N

        jButtonBrewNext.setAction(actionMap.get("NextRecord")); // NOI18N
        jButtonBrewNext.setText(resourceMap.getString("jButtonBrewNext.text")); // NOI18N
        jButtonBrewNext.setName("jButtonBrewNext"); // NOI18N

        jButtonSearch.setAction(actionMap.get("SearchID")); // NOI18N
        jButtonSearch.setText(resourceMap.getString("jButtonSearch.text")); // NOI18N
        jButtonSearch.setName("jButtonSearch"); // NOI18N

        jTabbedPane1.setBackground(resourceMap.getColor("jTabbedPane1.background")); // NOI18N
        jTabbedPane1.setName("jTabbedPane1"); // NOI18N
        jTabbedPane1.setPreferredSize(new java.awt.Dimension(10, 10));

        jPanel15.setName("jPanel15"); // NOI18N

        jLabelBeer.setText(resourceMap.getString("jLabelBeer.text")); // NOI18N
        jLabelBeer.setName("jLabelBeer"); // NOI18N

        jComboBoxBeer.setName("jComboBoxBeer"); // NOI18N

        jButtonStartBrew.setAction(actionMap.get("StartNewBrew")); // NOI18N
        jButtonStartBrew.setText(resourceMap.getString("jButtonStartBrew.text")); // NOI18N
        jButtonStartBrew.setName("jButtonStartBrew"); // NOI18N

        jLabel71.setText(resourceMap.getString("jLabel71.text")); // NOI18N
        jLabel71.setName("jLabel71"); // NOI18N

        jDateChooser1.setName("jDateChooser1"); // NOI18N

        jLabel70.setText(resourceMap.getString("jLabel70.text")); // NOI18N
        jLabel70.setName("jLabel70"); // NOI18N

        jComboBoxBrewers.setName("jComboBoxBrewers"); // NOI18N

        jSeparator1.setName("jSeparator1"); // NOI18N

        jLabelBID.setText(resourceMap.getString("jLabelBID.text")); // NOI18N
        jLabelBID.setName("jLabelBID"); // NOI18N

        jLabel80.setText(resourceMap.getString("jLabel80.text")); // NOI18N
        jLabel80.setName("jLabel80"); // NOI18N

        jLabelBState.setText(resourceMap.getString("jLabelBState.text")); // NOI18N
        jLabelBState.setName("jLabelBState"); // NOI18N

        jLabel81.setText(resourceMap.getString("jLabel81.text")); // NOI18N
        jLabel81.setName("jLabel81"); // NOI18N

        jLabelTOG.setText(resourceMap.getString("jLabelTOG.text")); // NOI18N
        jLabelTOG.setName("jLabelTOG"); // NOI18N

        jLabel95.setText(resourceMap.getString("jLabel95.text")); // NOI18N
        jLabel95.setName("jLabel95"); // NOI18N

        jLabelTVOL.setText(resourceMap.getString("jLabelTVOL.text")); // NOI18N
        jLabelTVOL.setName("jLabelTVOL"); // NOI18N

        jLabel13.setText(resourceMap.getString("jLabel13.text")); // NOI18N
        jLabel13.setName("jLabel13"); // NOI18N

        jLabelAOG.setText(resourceMap.getString("jLabelAOG.text")); // NOI18N
        jLabelAOG.setName("jLabelAOG"); // NOI18N

        jLabel14.setText(resourceMap.getString("jLabel14.text")); // NOI18N
        jLabel14.setName("jLabel14"); // NOI18N

        jLabelATG.setText(resourceMap.getString("jLabelATG.text")); // NOI18N
        jLabelATG.setName("jLabelATG"); // NOI18N

        jLabel17.setText(resourceMap.getString("jLabel17.text")); // NOI18N
        jLabel17.setName("jLabel17"); // NOI18N

        jLabelAVol.setText(resourceMap.getString("jLabelAVol.text")); // NOI18N
        jLabelAVol.setName("jLabelAVol"); // NOI18N

        jLabel20.setText(resourceMap.getString("jLabel20.text")); // NOI18N
        jLabel20.setName("jLabel20"); // NOI18N

        jLabelABV.setText(resourceMap.getString("jLabelABV.text")); // NOI18N
        jLabelABV.setName("jLabelABV"); // NOI18N

        jLabel28.setText(resourceMap.getString("jLabel28.text")); // NOI18N
        jLabel28.setName("jLabel28"); // NOI18N

        jLabelABW.setText(resourceMap.getString("jLabelABW.text")); // NOI18N
        jLabelABW.setName("jLabelABW"); // NOI18N

        jLabelIBU.setText(resourceMap.getString("jLabelIBU.text")); // NOI18N
        jLabelIBU.setName("jLabelIBU"); // NOI18N

        jLabel46.setText(resourceMap.getString("jLabel46.text")); // NOI18N
        jLabel46.setName("jLabel46"); // NOI18N

        jLabel55.setText(resourceMap.getString("jLabel55.text")); // NOI18N
        jLabel55.setName("jLabel55"); // NOI18N

        jLabelPri.setText(resourceMap.getString("jLabelPri.text")); // NOI18N
        jLabelPri.setName("jLabelPri"); // NOI18N

        jLabel77.setText(resourceMap.getString("jLabel77.text")); // NOI18N
        jLabel77.setName("jLabel77"); // NOI18N

        jLabelSec.setText(resourceMap.getString("jLabelSec.text")); // NOI18N
        jLabelSec.setName("jLabelSec"); // NOI18N

        jLabel78.setText(resourceMap.getString("jLabel78.text")); // NOI18N
        jLabel78.setName("jLabel78"); // NOI18N

        jLabelCon.setText(resourceMap.getString("jLabelCon.text")); // NOI18N
        jLabelCon.setName("jLabelCon"); // NOI18N

        jSeparator2.setName("jSeparator2"); // NOI18N

        jLabel85.setFont(resourceMap.getFont("jLabel85.font")); // NOI18N
        jLabel85.setText(resourceMap.getString("jLabel85.text")); // NOI18N
        jLabel85.setName("jLabel85"); // NOI18N

        jLabel86.setText(resourceMap.getString("jLabel86.text")); // NOI18N
        jLabel86.setName("jLabel86"); // NOI18N

        jLabelLagVes.setText(resourceMap.getString("jLabelLagVes.text")); // NOI18N
        jLabelLagVes.setName("jLabelLagVes"); // NOI18N

        jLabelLagTemp.setText(resourceMap.getString("jLabelLagTemp.text")); // NOI18N
        jLabelLagTemp.setName("jLabelLagTemp"); // NOI18N

        jLabelLagSG.setText(resourceMap.getString("jLabelLagSG.text")); // NOI18N
        jLabelLagSG.setName("jLabelLagSG"); // NOI18N

        jLabel87.setText(resourceMap.getString("jLabel87.text")); // NOI18N
        jLabel87.setName("jLabel87"); // NOI18N

        jLabelLagMoved.setText(resourceMap.getString("jLabelLagMoved.text")); // NOI18N
        jLabelLagMoved.setName("jLabelLagMoved"); // NOI18N

        jLabelLagDate.setText(resourceMap.getString("jLabelLagDate.text")); // NOI18N
        jLabelLagDate.setName("jLabelLagDate"); // NOI18N

        jLabelLagTime.setText(resourceMap.getString("jLabelLagTime.text")); // NOI18N
        jLabelLagTime.setName("jLabelLagTime"); // NOI18N

        jLabelLagNotes.setText(resourceMap.getString("jLabelLagNotes.text")); // NOI18N
        jLabelLagNotes.setName("jLabelLagNotes"); // NOI18N

        jLabel88.setFont(resourceMap.getFont("jLabel88.font")); // NOI18N
        jLabel88.setText(resourceMap.getString("jLabel88.text")); // NOI18N
        jLabel88.setName("jLabel88"); // NOI18N

        jLabel89.setText(resourceMap.getString("jLabel89.text")); // NOI18N
        jLabel89.setName("jLabel89"); // NOI18N

        jLabelCondVes.setText(resourceMap.getString("jLabelCondVes.text")); // NOI18N
        jLabelCondVes.setName("jLabelCondVes"); // NOI18N

        jLabel90.setText(resourceMap.getString("jLabel90.text")); // NOI18N
        jLabel90.setName("jLabel90"); // NOI18N

        jLabelCondMoved.setText(resourceMap.getString("jLabelCondMoved.text")); // NOI18N
        jLabelCondMoved.setName("jLabelCondMoved"); // NOI18N

        jLabel91.setText(resourceMap.getString("jLabel91.text")); // NOI18N
        jLabel91.setName("jLabel91"); // NOI18N

        jLabelCondPSI.setText(resourceMap.getString("jLabelCondPSI.text")); // NOI18N
        jLabelCondPSI.setName("jLabelCondPSI"); // NOI18N

        jLabelCondTemp.setText(resourceMap.getString("jLabelCondTemp.text")); // NOI18N
        jLabelCondTemp.setName("jLabelCondTemp"); // NOI18N

        jLabelCondSG.setText(resourceMap.getString("jLabelCondSG.text")); // NOI18N
        jLabelCondSG.setName("jLabelCondSG"); // NOI18N

        jLabelCondDate.setText(resourceMap.getString("jLabelCondDate.text")); // NOI18N
        jLabelCondDate.setName("jLabelCondDate"); // NOI18N

        jLabelCondTime.setText(resourceMap.getString("jLabelCondTime.text")); // NOI18N
        jLabelCondTime.setName("jLabelCondTime"); // NOI18N

        jLabel92.setFont(resourceMap.getFont("jLabel92.font")); // NOI18N
        jLabel92.setText(resourceMap.getString("jLabel92.text")); // NOI18N
        jLabel92.setName("jLabel92"); // NOI18N

        jLabel93.setText(resourceMap.getString("jLabel93.text")); // NOI18N
        jLabel93.setName("jLabel93"); // NOI18N

        jLabelPkgDate.setText(resourceMap.getString("jLabelPkgDate.text")); // NOI18N
        jLabelPkgDate.setName("jLabelPkgDate"); // NOI18N

        jSeparator3.setName("jSeparator3"); // NOI18N

        jLabel101.setText(resourceMap.getString("jLabel101.text")); // NOI18N
        jLabel101.setName("jLabel101"); // NOI18N

        jLabelBatch.setText(resourceMap.getString("jLabelBatch.text")); // NOI18N
        jLabelBatch.setName("jLabelBatch"); // NOI18N

        jComboBoxVolume.setName("jComboBoxVolume"); // NOI18N

        javax.swing.GroupLayout jPanel15Layout = new javax.swing.GroupLayout(jPanel15);
        jPanel15.setLayout(jPanel15Layout);
        jPanel15Layout.setHorizontalGroup(
            jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel71)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel70)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jComboBoxBrewers, javax.swing.GroupLayout.PREFERRED_SIZE, 341, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0))
            .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 702, Short.MAX_VALUE)
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addGap(40, 40, 40)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel81)
                    .addComponent(jLabel80)
                    .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel14)
                        .addComponent(jLabel95))
                    .addComponent(jLabel101))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabelBID)
                    .addComponent(jLabelBState)
                    .addGroup(jPanel15Layout.createSequentialGroup()
                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel15Layout.createSequentialGroup()
                                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelTOG)
                                    .addComponent(jLabelTVOL))
                                .addGap(36, 36, 36)
                                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel17, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel13, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelAOG)
                                    .addComponent(jLabelAVol)
                                    .addComponent(jLabelABV))
                                .addGap(39, 39, 39)
                                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel28, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel46, javax.swing.GroupLayout.Alignment.TRAILING)))
                            .addComponent(jLabelATG))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanel15Layout.createSequentialGroup()
                                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelABW)
                                    .addComponent(jLabelIBU))
                                .addGap(31, 31, 31)
                                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel77)
                                    .addComponent(jLabel55)))
                            .addComponent(jLabel78))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelPri)
                            .addComponent(jLabelSec)
                            .addComponent(jLabelCon))))
                .addGap(0, 0, 0))
            .addComponent(jSeparator2, javax.swing.GroupLayout.DEFAULT_SIZE, 702, Short.MAX_VALUE)
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel15Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel15Layout.createSequentialGroup()
                                .addComponent(jLabel86)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelLagVes)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel87)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelLagMoved))
                            .addGroup(jPanel15Layout.createSequentialGroup()
                                .addComponent(jLabelLagTemp)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelLagSG)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelLagDate)
                                .addGap(6, 6, 6)
                                .addComponent(jLabelLagTime))
                            .addComponent(jLabelLagNotes)))
                    .addComponent(jLabel85))
                .addGap(0, 0, 0))
            .addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 702, Short.MAX_VALUE)
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel88)
                    .addGroup(jPanel15Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel15Layout.createSequentialGroup()
                                .addComponent(jLabelCondTemp)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelCondSG)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelCondDate)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelCondTime))
                            .addGroup(jPanel15Layout.createSequentialGroup()
                                .addComponent(jLabel89)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelCondVes)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel90)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelCondMoved)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel91)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelCondPSI)))))
                .addGap(0, 0, 0))
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel15Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(jLabel93)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabelPkgDate))
                    .addComponent(jLabel92))
                .addGap(0, 0, 0))
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButtonStartBrew)
                .addGap(0, 0, 0))
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabelBeer)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jComboBoxBeer, javax.swing.GroupLayout.PREFERRED_SIZE, 384, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabelBatch)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jComboBoxVolume, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(91, 91, 91))
        );
        jPanel15Layout.setVerticalGroup(
            jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel15Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel70)
                        .addComponent(jComboBoxBrewers, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel71))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelBID)
                    .addComponent(jLabel101))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel80)
                    .addComponent(jLabelBState))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel81)
                    .addComponent(jLabelTOG)
                    .addComponent(jLabel13)
                    .addComponent(jLabelAOG)
                    .addComponent(jLabel28)
                    .addComponent(jLabelABW)
                    .addComponent(jLabelPri)
                    .addComponent(jLabel55))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelTVOL)
                    .addComponent(jLabel95)
                    .addComponent(jLabel17)
                    .addComponent(jLabelAVol)
                    .addComponent(jLabel46)
                    .addComponent(jLabelIBU)
                    .addComponent(jLabelSec)
                    .addComponent(jLabel77))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelATG)
                    .addComponent(jLabel14)
                    .addComponent(jLabel20)
                    .addComponent(jLabelABV)
                    .addComponent(jLabelCon)
                    .addComponent(jLabel78))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel85)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel86)
                    .addComponent(jLabelLagVes)
                    .addComponent(jLabel87)
                    .addComponent(jLabelLagMoved))
                .addGap(2, 2, 2)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelLagTemp)
                    .addComponent(jLabelLagSG)
                    .addComponent(jLabelLagDate)
                    .addComponent(jLabelLagTime))
                .addGap(2, 2, 2)
                .addComponent(jLabelLagNotes)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel88)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelCondVes)
                    .addComponent(jLabel90)
                    .addComponent(jLabelCondMoved)
                    .addComponent(jLabel91)
                    .addComponent(jLabelCondPSI)
                    .addComponent(jLabel89))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelCondTemp)
                    .addComponent(jLabelCondSG)
                    .addComponent(jLabelCondDate)
                    .addComponent(jLabelCondTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel92)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel93)
                    .addComponent(jLabelPkgDate))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelBeer)
                    .addComponent(jComboBoxBeer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelBatch)
                    .addComponent(jComboBoxVolume, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButtonStartBrew)
                .addGap(100, 100, 100))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel15.TabConstraints.tabTitle"), jPanel15); // NOI18N

        jPanel16.setName("jPanel16"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        jTableMalt.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Malt", "Calculated", "Actual"
            }
        ));
        jTableMalt.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        jTableMalt.setName("jTableMalt"); // NOI18N
        jScrollPane1.setViewportView(jTableMalt);
        jTableMalt.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("jTableMalt.columnModel.title0")); // NOI18N
        jTableMalt.getColumnModel().getColumn(1).setMinWidth(75);
        jTableMalt.getColumnModel().getColumn(1).setPreferredWidth(75);
        jTableMalt.getColumnModel().getColumn(1).setMaxWidth(75);
        jTableMalt.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("jTableMalt.columnModel.title1")); // NOI18N
        jTableMalt.getColumnModel().getColumn(2).setMinWidth(75);
        jTableMalt.getColumnModel().getColumn(2).setPreferredWidth(75);
        jTableMalt.getColumnModel().getColumn(2).setMaxWidth(75);
        jTableMalt.getColumnModel().getColumn(2).setHeaderValue(resourceMap.getString("jTableMalt.columnModel.title2")); // NOI18N

        jLabel2.setFont(resourceMap.getFont("jLabel2.font")); // NOI18N
        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        jLabel67.setText(resourceMap.getString("jLabel67.text")); // NOI18N
        jLabel67.setName("jLabel67"); // NOI18N

        jLabel68.setText(resourceMap.getString("jLabel68.text")); // NOI18N
        jLabel68.setName("jLabel68"); // NOI18N

        jLabel69.setText(resourceMap.getString("jLabel69.text")); // NOI18N
        jLabel69.setName("jLabel69"); // NOI18N

        jLabel62.setText(resourceMap.getString("jLabel62.text")); // NOI18N
        jLabel62.setName("jLabel62"); // NOI18N

        jLabel63.setText(resourceMap.getString("jLabel63.text")); // NOI18N
        jLabel63.setName("jLabel63"); // NOI18N

        jLabel64.setText(resourceMap.getString("jLabel64.text")); // NOI18N
        jLabel64.setName("jLabel64"); // NOI18N

        jLabel65.setText(resourceMap.getString("jLabel65.text")); // NOI18N
        jLabel65.setName("jLabel65"); // NOI18N

        jLabel66.setText(resourceMap.getString("jLabel66.text")); // NOI18N
        jLabel66.setName("jLabel66"); // NOI18N

        jLabelChalk.setText(resourceMap.getString("jLabelChalk.text")); // NOI18N
        jLabelChalk.setName("jLabelChalk"); // NOI18N

        jLabelNaCl.setText(resourceMap.getString("jLabelNaCl.text")); // NOI18N
        jLabelNaCl.setName("jLabelNaCl"); // NOI18N

        jLabelEps.setText(resourceMap.getString("jLabelEps.text")); // NOI18N
        jLabelEps.setName("jLabelEps"); // NOI18N

        jLabelCaCl.setText(resourceMap.getString("jLabelCaCl.text")); // NOI18N
        jLabelCaCl.setName("jLabelCaCl"); // NOI18N

        jLabelGyp.setText(resourceMap.getString("jLabelGyp.text")); // NOI18N
        jLabelGyp.setName("jLabelGyp"); // NOI18N

        jTextFieldMineral1.setName("jTextFieldMineral1"); // NOI18N

        jTextFieldMineral2.setName("jTextFieldMineral2"); // NOI18N

        jTextFieldMineral3.setName("jTextFieldMineral3"); // NOI18N

        jTextFieldMineral4.setName("jTextFieldMineral4"); // NOI18N

        jTextFieldMineral5.setName("jTextFieldMineral5"); // NOI18N

        javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16);
        jPanel16.setLayout(jPanel16Layout);
        jPanel16Layout.setHorizontalGroup(
            jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel16Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 425, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2)
                    .addGroup(jPanel16Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel64)
                            .addComponent(jLabel63)
                            .addComponent(jLabel62)
                            .addComponent(jLabel67)
                            .addComponent(jLabel65)
                            .addComponent(jLabel66))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel68)
                            .addComponent(jLabelGyp)
                            .addComponent(jLabelCaCl)
                            .addComponent(jLabelEps)
                            .addComponent(jLabelNaCl)
                            .addComponent(jLabelChalk))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextFieldMineral5, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldMineral4, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldMineral3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldMineral2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel69)
                            .addComponent(jTextFieldMineral1, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
        );

        jPanel16Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldMineral1, jTextFieldMineral2, jTextFieldMineral3, jTextFieldMineral4, jTextFieldMineral5});

        jPanel16Layout.setVerticalGroup(
            jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel16Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel16Layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 372, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(jPanel16Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel67)
                            .addComponent(jLabel68)
                            .addComponent(jLabel69))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel62)
                            .addComponent(jLabelGyp)
                            .addComponent(jTextFieldMineral1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel63)
                            .addComponent(jLabelCaCl)
                            .addComponent(jTextFieldMineral2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel64)
                            .addComponent(jLabelEps)
                            .addComponent(jTextFieldMineral3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel65)
                            .addComponent(jLabelNaCl)
                            .addComponent(jTextFieldMineral4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel66)
                            .addComponent(jLabelChalk)
                            .addComponent(jTextFieldMineral5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel16.TabConstraints.tabTitle"), jPanel16); // NOI18N

        jPanel17.setName("jPanel17"); // NOI18N

        jLabel3.setFont(resourceMap.getFont("jLabel3.font")); // NOI18N
        jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
        jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        jLabel3.setName("jLabel3"); // NOI18N

        jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
        jLabel4.setName("jLabel4"); // NOI18N

        jTextFieldHydStart.setText(resourceMap.getString("jTextFieldHydStart.text")); // NOI18N
        jTextFieldHydStart.setName("jTextFieldHydStart"); // NOI18N
        jTextFieldHydStart.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                jTextFieldHydStartMouseReleased(evt);
            }
        });

        jLabel5.setText(resourceMap.getString("jLabel5.text")); // NOI18N
        jLabel5.setName("jLabel5"); // NOI18N

        jTextFieldHydStop.setText(resourceMap.getString("jTextFieldHydStop.text")); // NOI18N
        jTextFieldHydStop.setName("jTextFieldHydStop"); // NOI18N
        jTextFieldHydStop.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldHydStopKeyReleased(evt);
            }
        });

        jLabelHydTime.setText(resourceMap.getString("jLabelHydTime.text")); // NOI18N
        jLabelHydTime.setName("jLabelHydTime"); // NOI18N

        jLabel6.setText(resourceMap.getString("jLabel6.text")); // NOI18N
        jLabel6.setName("jLabel6"); // NOI18N

        jTextFieldFlowRate.setText(resourceMap.getString("jTextFieldFlowRate.text")); // NOI18N
        jTextFieldFlowRate.setName("jTextFieldFlowRate"); // NOI18N

        jLabel8.setText(resourceMap.getString("jLabel8.text")); // NOI18N
        jLabel8.setName("jLabel8"); // NOI18N

        jLabel7.setText(resourceMap.getString("jLabel7.text")); // NOI18N
        jLabel7.setName("jLabel7"); // NOI18N

        jTextFieldHydTemp.setName("jTextFieldHydTemp"); // NOI18N

        jLabel9.setText(resourceMap.getString("jLabel9.text")); // NOI18N
        jLabel9.setName("jLabel9"); // NOI18N

        jLabelHydVol.setText(resourceMap.getString("jLabelHydVol.text")); // NOI18N
        jLabelHydVol.setName("jLabelHydVol"); // NOI18N

        jLabel10.setFont(resourceMap.getFont("jLabel10.font")); // NOI18N
        jLabel10.setText(resourceMap.getString("jLabel10.text")); // NOI18N
        jLabel10.setName("jLabel10"); // NOI18N

        jLabel11.setText(resourceMap.getString("jLabel11.text")); // NOI18N
        jLabel11.setName("jLabel11"); // NOI18N

        jTextFieldMashStart.setBackground(resourceMap.getColor("jTextFieldMashStart.background")); // NOI18N
        jTextFieldMashStart.setEditable(false);
        jTextFieldMashStart.setFocusable(false);
        jTextFieldMashStart.setName("jTextFieldMashStart"); // NOI18N

        jLabel19.setText(resourceMap.getString("jLabel19.text")); // NOI18N
        jLabel19.setName("jLabel19"); // NOI18N

        jTextFieldVorStart.setName("jTextFieldVorStart"); // NOI18N

        jLabelVorlauft.setText(resourceMap.getString("jLabelVorlauft.text")); // NOI18N
        jLabelVorlauft.setName("jLabelVorlauft"); // NOI18N

        jLabel12.setText(resourceMap.getString("jLabel12.text")); // NOI18N
        jLabel12.setName("jLabel12"); // NOI18N

        jTextFieldMashStop.setName("jTextFieldMashStop"); // NOI18N
        jTextFieldMashStop.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldMashStopKeyReleased(evt);
            }
        });

        jLabelMashTime.setText(resourceMap.getString("jLabelMashTime.text")); // NOI18N
        jLabelMashTime.setName("jLabelMashTime"); // NOI18N

        jLabel15.setText(resourceMap.getString("jLabel15.text")); // NOI18N
        jLabel15.setName("jLabel15"); // NOI18N

        jTextFieldMashPh.setName("jTextFieldMashPh"); // NOI18N

        jLabel24.setText(resourceMap.getString("jLabel24.text")); // NOI18N
        jLabel24.setName("jLabel24"); // NOI18N

        jTextFieldMashTemp.setName("jTextFieldMashTemp"); // NOI18N

        jLabel16.setText(resourceMap.getString("jLabel16.text")); // NOI18N
        jLabel16.setName("jLabel16"); // NOI18N

        jLabel18.setText(resourceMap.getString("jLabel18.text")); // NOI18N
        jLabel18.setName("jLabel18"); // NOI18N

        jTextFieldMashNotes.setText(resourceMap.getString("jTextFieldMashNotes.text")); // NOI18N
        jTextFieldMashNotes.setName("jTextFieldMashNotes"); // NOI18N

        jLabel21.setFont(resourceMap.getFont("jLabel21.font")); // NOI18N
        jLabel21.setText(resourceMap.getString("jLabel21.text")); // NOI18N
        jLabel21.setName("jLabel21"); // NOI18N

        jLabel22.setText(resourceMap.getString("jLabel22.text")); // NOI18N
        jLabel22.setName("jLabel22"); // NOI18N

        jLabel25.setText(resourceMap.getString("jLabel25.text")); // NOI18N
        jLabel25.setName("jLabel25"); // NOI18N

        jLabel26.setText(resourceMap.getString("jLabel26.text")); // NOI18N
        jLabel26.setName("jLabel26"); // NOI18N

        jTextFieldSpargeStart.setEditable(false);
        jTextFieldSpargeStart.setFocusable(false);
        jTextFieldSpargeStart.setName("jTextFieldSpargeStart"); // NOI18N

        jTextFieldSpargePh.setName("jTextFieldSpargePh"); // NOI18N

        jTextFieldSpargeTemp.setName("jTextFieldSpargeTemp"); // NOI18N

        jLabel27.setText(resourceMap.getString("jLabel27.text")); // NOI18N
        jLabel27.setName("jLabel27"); // NOI18N

        jTextFieldSpargeGrav.setName("jTextFieldSpargeGrav"); // NOI18N

        jLabel23.setText(resourceMap.getString("jLabel23.text")); // NOI18N
        jLabel23.setName("jLabel23"); // NOI18N

        jTextFieldSpargeStop.setName("jTextFieldSpargeStop"); // NOI18N

        jLabelSpargeTime.setText(resourceMap.getString("jLabelSpargeTime.text")); // NOI18N
        jLabelSpargeTime.setName("jLabelSpargeTime"); // NOI18N

        jLabel29.setText(resourceMap.getString("jLabel29.text")); // NOI18N
        jLabel29.setName("jLabel29"); // NOI18N

        jTextFieldSpargeNotes.setName("jTextFieldSpargeNotes"); // NOI18N

        jLabelMashTemp.setText(resourceMap.getString("jLabelMashTemp.text")); // NOI18N
        jLabelMashTemp.setName("jLabelMashTemp"); // NOI18N

        javax.swing.GroupLayout jPanel17Layout = new javax.swing.GroupLayout(jPanel17);
        jPanel17.setLayout(jPanel17Layout);
        jPanel17Layout.setHorizontalGroup(
            jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel17Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel3)
                    .addComponent(jLabel10)
                    .addComponent(jLabel21)
                    .addGroup(jPanel17Layout.createSequentialGroup()
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel18, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel15, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel11, javax.swing.GroupLayout.Alignment.TRAILING))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel17Layout.createSequentialGroup()
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel17Layout.createSequentialGroup()
                                        .addComponent(jTextFieldMashTemp, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(jLabel16))
                                    .addComponent(jTextFieldMashStart, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel19)
                                    .addComponent(jLabel12)
                                    .addComponent(jLabel24))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldMashStop, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldMashPh, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldVorStart, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelMashTemp)
                                    .addComponent(jLabelMashTime)
                                    .addComponent(jLabelVorlauft)))
                            .addComponent(jTextFieldMashNotes, javax.swing.GroupLayout.PREFERRED_SIZE, 447, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel17Layout.createSequentialGroup()
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel17Layout.createSequentialGroup()
                                .addComponent(jTextFieldFlowRate, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel8)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel7))
                            .addGroup(jPanel17Layout.createSequentialGroup()
                                .addComponent(jTextFieldHydStart, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jLabel5)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextFieldHydStop, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldHydTemp, javax.swing.GroupLayout.DEFAULT_SIZE, 64, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel9)
                        .addGap(18, 18, 18)
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelHydTime)
                            .addComponent(jLabelHydVol)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel17Layout.createSequentialGroup()
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel29)
                            .addComponent(jLabel26)
                            .addComponent(jLabel22)
                            .addComponent(jLabel25))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel17Layout.createSequentialGroup()
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldSpargeStart, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldSpargeTemp, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel27)
                                    .addComponent(jLabel23))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldSpargeGrav, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(jPanel17Layout.createSequentialGroup()
                                        .addComponent(jTextFieldSpargeStop, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(jLabelSpargeTime))))
                            .addComponent(jTextFieldSpargePh, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldSpargeNotes, javax.swing.GroupLayout.PREFERRED_SIZE, 426, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel17Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldFlowRate, jTextFieldHydStart, jTextFieldHydStop, jTextFieldHydTemp, jTextFieldMashPh, jTextFieldMashStart, jTextFieldMashStop, jTextFieldMashTemp, jTextFieldSpargeGrav, jTextFieldSpargePh, jTextFieldSpargeStart, jTextFieldSpargeStop, jTextFieldSpargeTemp, jTextFieldVorStart});

        jPanel17Layout.setVerticalGroup(
            jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel17Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel3)
                .addGap(4, 4, 4)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(jTextFieldHydStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5)
                    .addComponent(jTextFieldHydStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHydTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel6)
                    .addComponent(jTextFieldFlowRate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel8)
                    .addComponent(jLabel7)
                    .addComponent(jTextFieldHydTemp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel9)
                    .addComponent(jLabelHydVol))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel10)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel11)
                    .addComponent(jTextFieldMashStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel19)
                    .addComponent(jTextFieldVorStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelVorlauft))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel12)
                    .addComponent(jTextFieldMashStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelMashTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel15)
                    .addComponent(jTextFieldMashTemp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel16)
                    .addComponent(jLabel24)
                    .addComponent(jTextFieldMashPh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelMashTemp))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel18)
                    .addComponent(jTextFieldMashNotes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel21)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel22)
                    .addComponent(jTextFieldSpargeStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel23)
                    .addComponent(jTextFieldSpargeStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelSpargeTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel25)
                    .addComponent(jTextFieldSpargePh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel26)
                    .addComponent(jTextFieldSpargeTemp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel27)
                    .addComponent(jTextFieldSpargeGrav, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel29)
                    .addComponent(jTextFieldSpargeNotes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(71, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel17.TabConstraints.tabTitle"), jPanel17); // NOI18N

        jPanel18.setFont(resourceMap.getFont("jPanel18.font")); // NOI18N
        jPanel18.setMaximumSize(new java.awt.Dimension(800, 32767));
        jPanel18.setName("jPanel18"); // NOI18N

        jLabel30.setFont(resourceMap.getFont("jLabel30.font")); // NOI18N
        jLabel30.setText(resourceMap.getString("jLabel30.text")); // NOI18N
        jLabel30.setName("jLabel30"); // NOI18N

        jLabel39.setText(resourceMap.getString("jLabel39.text")); // NOI18N
        jLabel39.setName("jLabel39"); // NOI18N

        jTextFieldPBVol.setName("jTextFieldPBVol"); // NOI18N

        jLabel40.setText(resourceMap.getString("jLabel40.text")); // NOI18N
        jLabel40.setName("jLabel40"); // NOI18N

        jLabel41.setText(resourceMap.getString("jLabel41.text")); // NOI18N
        jLabel41.setName("jLabel41"); // NOI18N

        jTextFieldPBGrav.setName("jTextFieldPBGrav"); // NOI18N

        jLabel42.setText(resourceMap.getString("jLabel42.text")); // NOI18N
        jLabel42.setName("jLabel42"); // NOI18N

        jLabelEstOG.setText(resourceMap.getString("jLabelEstOG.text")); // NOI18N
        jLabelEstOG.setName("jLabelEstOG"); // NOI18N

        jLabel44.setText(resourceMap.getString("jLabel44.text")); // NOI18N
        jLabel44.setName("jLabel44"); // NOI18N

        jTextFieldBoilStart.setName("jTextFieldBoilStart"); // NOI18N

        jLabel45.setText(resourceMap.getString("jLabel45.text")); // NOI18N
        jLabel45.setName("jLabel45"); // NOI18N

        jTextFieldBoilStop.setName("jTextFieldBoilStop"); // NOI18N
        jTextFieldBoilStop.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldBoilStopKeyReleased(evt);
            }
        });

        jLabelBoilTime.setText(resourceMap.getString("jLabelBoilTime.text")); // NOI18N
        jLabelBoilTime.setName("jLabelBoilTime"); // NOI18N

        jLabel31.setFont(resourceMap.getFont("jLabel31.font")); // NOI18N
        jLabel31.setText(resourceMap.getString("jLabel31.text")); // NOI18N
        jLabel31.setName("jLabel31"); // NOI18N

        jComboBoxHop1.setName("jComboBoxHop1"); // NOI18N

        jComboBoxHop2.setName("jComboBoxHop2"); // NOI18N

        jTextFieldHopLbs2.setName("jTextFieldHopLbs2"); // NOI18N

        jTextFieldHopTime10.setName("jTextFieldHopTime10"); // NOI18N

        jTextFieldHopLbs4.setName("jTextFieldHopLbs4"); // NOI18N

        jTextFieldHopLbs3.setName("jTextFieldHopLbs3"); // NOI18N

        jTextFieldHopTime7.setName("jTextFieldHopTime7"); // NOI18N

        jTextFieldHopTime6.setName("jTextFieldHopTime6"); // NOI18N

        jTextFieldHopTime9.setName("jTextFieldHopTime9"); // NOI18N

        jTextFieldHopTime8.setName("jTextFieldHopTime8"); // NOI18N

        jTextFieldHopLbs5.setName("jTextFieldHopLbs5"); // NOI18N

        jTextFieldHopLbs6.setName("jTextFieldHopLbs6"); // NOI18N

        jComboBoxHop6.setName("jComboBoxHop6"); // NOI18N

        jComboBoxHop5.setName("jComboBoxHop5"); // NOI18N

        jComboBoxHop4.setName("jComboBoxHop4"); // NOI18N

        jComboBoxHop3.setName("jComboBoxHop3"); // NOI18N

        jComboBoxHop10.setName("jComboBoxHop10"); // NOI18N

        jComboBoxHop9.setName("jComboBoxHop9"); // NOI18N

        jComboBoxHop8.setName("jComboBoxHop8"); // NOI18N

        jComboBoxHop7.setName("jComboBoxHop7"); // NOI18N

        jTextFieldHopLbs9.setName("jTextFieldHopLbs9"); // NOI18N

        jTextFieldHopLbs10.setName("jTextFieldHopLbs10"); // NOI18N

        jLabelHopUtil2.setText(resourceMap.getString("jLabelHopUtil2.text")); // NOI18N
        jLabelHopUtil2.setName("jLabelHopUtil2"); // NOI18N

        jLabelHopBT2.setText(resourceMap.getString("jLabelHopBT2.text")); // NOI18N
        jLabelHopBT2.setName("jLabelHopBT2"); // NOI18N

        jTextFieldHopLbs7.setName("jTextFieldHopLbs7"); // NOI18N

        jLabelHopExp7.setText(resourceMap.getString("jLabelHopExp7.text")); // NOI18N
        jLabelHopExp7.setName("jLabelHopExp7"); // NOI18N

        jTextFieldHopLbs8.setName("jTextFieldHopLbs8"); // NOI18N

        jLabelHopIBU2.setText(resourceMap.getString("jLabelHopIBU2.text")); // NOI18N
        jLabelHopIBU2.setName("jLabelHopIBU2"); // NOI18N

        jLabelHopExp2.setText(resourceMap.getString("jLabelHopExp2.text")); // NOI18N
        jLabelHopExp2.setName("jLabelHopExp2"); // NOI18N

        jLabelHopBT3.setText(resourceMap.getString("jLabelHopBT3.text")); // NOI18N
        jLabelHopBT3.setName("jLabelHopBT3"); // NOI18N

        jLabelHopUtil3.setText(resourceMap.getString("jLabelHopUtil3.text")); // NOI18N
        jLabelHopUtil3.setName("jLabelHopUtil3"); // NOI18N

        jLabelHopBT10.setText(resourceMap.getString("jLabelHopBT10.text")); // NOI18N
        jLabelHopBT10.setName("jLabelHopBT10"); // NOI18N

        jLabelHopExp9.setText(resourceMap.getString("jLabelHopExp9.text")); // NOI18N
        jLabelHopExp9.setName("jLabelHopExp9"); // NOI18N

        jLabelHopExp8.setText(resourceMap.getString("jLabelHopExp8.text")); // NOI18N
        jLabelHopExp8.setName("jLabelHopExp8"); // NOI18N

        jLabelHopBT5.setText(resourceMap.getString("jLabelHopBT5.text")); // NOI18N
        jLabelHopBT5.setName("jLabelHopBT5"); // NOI18N

        jLabelHopExp10.setText(resourceMap.getString("jLabelHopExp10.text")); // NOI18N
        jLabelHopExp10.setName("jLabelHopExp10"); // NOI18N

        jLabelHopBT7.setText(resourceMap.getString("jLabelHopBT7.text")); // NOI18N
        jLabelHopBT7.setName("jLabelHopBT7"); // NOI18N

        jLabelHopBT6.setText(resourceMap.getString("jLabelHopBT6.text")); // NOI18N
        jLabelHopBT6.setName("jLabelHopBT6"); // NOI18N

        jLabelHopBT9.setText(resourceMap.getString("jLabelHopBT9.text")); // NOI18N
        jLabelHopBT9.setName("jLabelHopBT9"); // NOI18N

        jLabelHopBT8.setText(resourceMap.getString("jLabelHopBT8.text")); // NOI18N
        jLabelHopBT8.setName("jLabelHopBT8"); // NOI18N

        jLabelHopExp3.setText(resourceMap.getString("jLabelHopExp3.text")); // NOI18N
        jLabelHopExp3.setName("jLabelHopExp3"); // NOI18N

        jLabelHopUtil4.setText(resourceMap.getString("jLabelHopUtil4.text")); // NOI18N
        jLabelHopUtil4.setName("jLabelHopUtil4"); // NOI18N

        jLabelHopIBU3.setText(resourceMap.getString("jLabelHopIBU3.text")); // NOI18N
        jLabelHopIBU3.setName("jLabelHopIBU3"); // NOI18N

        jLabelHopExp4.setText(resourceMap.getString("jLabelHopExp4.text")); // NOI18N
        jLabelHopExp4.setName("jLabelHopExp4"); // NOI18N

        jLabelHopUtil5.setText(resourceMap.getString("jLabelHopUtil5.text")); // NOI18N
        jLabelHopUtil5.setName("jLabelHopUtil5"); // NOI18N

        jLabelHopBT4.setText(resourceMap.getString("jLabelHopBT4.text")); // NOI18N
        jLabelHopBT4.setName("jLabelHopBT4"); // NOI18N

        jLabelHopIBU4.setText(resourceMap.getString("jLabelHopIBU4.text")); // NOI18N
        jLabelHopIBU4.setName("jLabelHopIBU4"); // NOI18N

        jLabelHopUtil8.setText(resourceMap.getString("jLabelHopUtil8.text")); // NOI18N
        jLabelHopUtil8.setName("jLabelHopUtil8"); // NOI18N

        jLabel36.setText(resourceMap.getString("jLabel36.text")); // NOI18N
        jLabel36.setName("jLabel36"); // NOI18N

        jLabel35.setText(resourceMap.getString("jLabel35.text")); // NOI18N
        jLabel35.setName("jLabel35"); // NOI18N

        jLabelHopUtil6.setText(resourceMap.getString("jLabelHopUtil6.text")); // NOI18N
        jLabelHopUtil6.setName("jLabelHopUtil6"); // NOI18N

        jLabel34.setText(resourceMap.getString("jLabel34.text")); // NOI18N
        jLabel34.setName("jLabel34"); // NOI18N

        jLabelHopUtil7.setText(resourceMap.getString("jLabelHopUtil7.text")); // NOI18N
        jLabelHopUtil7.setName("jLabelHopUtil7"); // NOI18N

        jLabel33.setText(resourceMap.getString("jLabel33.text")); // NOI18N
        jLabel33.setName("jLabel33"); // NOI18N

        jTextFieldHopTime1.setName("jTextFieldHopTime1"); // NOI18N

        jTextFieldHopLbs1.setName("jTextFieldHopLbs1"); // NOI18N

        jLabel32.setText(resourceMap.getString("jLabel32.text")); // NOI18N
        jLabel32.setName("jLabel32"); // NOI18N

        jLabelHopUtil9.setText(resourceMap.getString("jLabelHopUtil9.text")); // NOI18N
        jLabelHopUtil9.setName("jLabelHopUtil9"); // NOI18N

        jLabelHopUtil10.setText(resourceMap.getString("jLabelHopUtil10.text")); // NOI18N
        jLabelHopUtil10.setName("jLabelHopUtil10"); // NOI18N

        jLabelHopIBU5.setText(resourceMap.getString("jLabelHopIBU5.text")); // NOI18N
        jLabelHopIBU5.setName("jLabelHopIBU5"); // NOI18N

        jLabelHopIBU6.setText(resourceMap.getString("jLabelHopIBU6.text")); // NOI18N
        jLabelHopIBU6.setName("jLabelHopIBU6"); // NOI18N

        jLabelHopIBU7.setText(resourceMap.getString("jLabelHopIBU7.text")); // NOI18N
        jLabelHopIBU7.setName("jLabelHopIBU7"); // NOI18N

        jLabelHopIBU8.setText(resourceMap.getString("jLabelHopIBU8.text")); // NOI18N
        jLabelHopIBU8.setName("jLabelHopIBU8"); // NOI18N

        jLabelHopIBU9.setText(resourceMap.getString("jLabelHopIBU9.text")); // NOI18N
        jLabelHopIBU9.setName("jLabelHopIBU9"); // NOI18N

        jLabelHopIBU10.setText(resourceMap.getString("jLabelHopIBU10.text")); // NOI18N
        jLabelHopIBU10.setName("jLabelHopIBU10"); // NOI18N

        jLabelHopExp5.setText(resourceMap.getString("jLabelHopExp5.text")); // NOI18N
        jLabelHopExp5.setName("jLabelHopExp5"); // NOI18N

        jTextFieldHopTime4.setName("jTextFieldHopTime4"); // NOI18N

        jLabelHopExp6.setText(resourceMap.getString("jLabelHopExp6.text")); // NOI18N
        jLabelHopExp6.setName("jLabelHopExp6"); // NOI18N

        jTextFieldHopTime3.setName("jTextFieldHopTime3"); // NOI18N

        jTextFieldHopTime5.setName("jTextFieldHopTime5"); // NOI18N

        jLabel37.setText(resourceMap.getString("jLabel37.text")); // NOI18N
        jLabel37.setName("jLabel37"); // NOI18N

        jLabel38.setText(resourceMap.getString("jLabel38.text")); // NOI18N
        jLabel38.setName("jLabel38"); // NOI18N

        jLabelHopExp1.setText(resourceMap.getString("jLabelHopExp1.text")); // NOI18N
        jLabelHopExp1.setName("jLabelHopExp1"); // NOI18N

        jLabelHopIBU1.setText(resourceMap.getString("jLabelHopIBU1.text")); // NOI18N
        jLabelHopIBU1.setName("jLabelHopIBU1"); // NOI18N

        jLabelHopUtil1.setText(resourceMap.getString("jLabelHopUtil1.text")); // NOI18N
        jLabelHopUtil1.setName("jLabelHopUtil1"); // NOI18N

        jLabelHopBT1.setText(resourceMap.getString("jLabelHopBT1.text")); // NOI18N
        jLabelHopBT1.setName("jLabelHopBT1"); // NOI18N

        jTextFieldHopTime2.setName("jTextFieldHopTime2"); // NOI18N

        javax.swing.GroupLayout jPanel18Layout = new javax.swing.GroupLayout(jPanel18);
        jPanel18.setLayout(jPanel18Layout);
        jPanel18Layout.setHorizontalGroup(
            jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel18Layout.createSequentialGroup()
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel18Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(10, 10, 10)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jComboBoxHop1, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jLabel32)
                                    .addComponent(jComboBoxHop2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jComboBoxHop3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jComboBoxHop4, javax.swing.GroupLayout.Alignment.TRAILING, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jComboBoxHop5, javax.swing.GroupLayout.Alignment.TRAILING, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jComboBoxHop6, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jComboBoxHop7, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jComboBoxHop8, javax.swing.GroupLayout.Alignment.TRAILING, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jComboBoxHop9, 0, 211, Short.MAX_VALUE)
                                    .addComponent(jComboBoxHop10, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel18Layout.createSequentialGroup()
                                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jTextFieldHopTime1, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jLabel33))
                                        .addGap(18, 18, 18)
                                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jTextFieldHopLbs1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jLabel34)))
                                    .addGroup(jPanel18Layout.createSequentialGroup()
                                        .addComponent(jTextFieldHopTime2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(jTextFieldHopLbs2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime4, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs4, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime5, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs5, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime6, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs6, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime7, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs7, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime8, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs8, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime9, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs9, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(239, 239, 239)
                                .addComponent(jTextFieldHopTime10, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldHopLbs10, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(25, 25, 25)
                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelHopBT9)
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel18Layout.createSequentialGroup()
                                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabelHopBT2)
                                            .addComponent(jLabelHopBT3)
                                            .addComponent(jLabelHopBT4)
                                            .addComponent(jLabel35)
                                            .addComponent(jLabelHopBT1)
                                            .addComponent(jLabelHopBT5)
                                            .addComponent(jLabelHopBT7)
                                            .addComponent(jLabelHopBT6)
                                            .addComponent(jLabelHopBT8))
                                        .addGap(30, 30, 30)
                                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabelHopUtil2)
                                            .addComponent(jLabelHopUtil3)
                                            .addComponent(jLabelHopUtil4)
                                            .addComponent(jLabelHopUtil5)
                                            .addComponent(jLabel36)
                                            .addComponent(jLabelHopUtil8)
                                            .addComponent(jLabelHopUtil6)
                                            .addComponent(jLabelHopUtil7)
                                            .addComponent(jLabelHopUtil9)
                                            .addComponent(jLabelHopUtil10)
                                            .addComponent(jLabelHopUtil1))
                                        .addGap(30, 30, 30)
                                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabelHopIBU2)
                                            .addComponent(jLabelHopIBU3)
                                            .addComponent(jLabelHopIBU4)
                                            .addComponent(jLabelHopIBU5)
                                            .addComponent(jLabelHopIBU6)
                                            .addComponent(jLabelHopIBU7)
                                            .addComponent(jLabelHopIBU8)
                                            .addComponent(jLabelHopIBU9)
                                            .addComponent(jLabelHopIBU10)
                                            .addComponent(jLabel37)
                                            .addComponent(jLabelHopIBU1)))
                                    .addComponent(jLabelHopBT10))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelHopExp10)
                                    .addComponent(jLabelHopExp1)
                                    .addComponent(jLabel38)
                                    .addComponent(jLabelHopExp2)
                                    .addComponent(jLabelHopExp3)
                                    .addComponent(jLabelHopExp4)
                                    .addComponent(jLabelHopExp5)
                                    .addComponent(jLabelHopExp6)
                                    .addComponent(jLabelHopExp7)
                                    .addComponent(jLabelHopExp8)
                                    .addComponent(jLabelHopExp9)))))
                    .addGroup(jPanel18Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel30)
                            .addGroup(jPanel18Layout.createSequentialGroup()
                                .addGap(10, 10, 10)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel44)
                                    .addComponent(jLabel39))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldPBVol, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldBoilStart, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel40)
                                .addGap(18, 18, 18)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel45)
                                    .addComponent(jLabel41))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldBoilStop, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldPBGrav, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel42)
                                .addGap(18, 18, 18)
                                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelBoilTime)
                                    .addComponent(jLabelEstOG)))
                            .addComponent(jLabel31))))
                .addContainerGap())
        );

        jPanel18Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldHopLbs1, jTextFieldHopLbs10, jTextFieldHopLbs2, jTextFieldHopLbs3, jTextFieldHopLbs4, jTextFieldHopLbs5, jTextFieldHopLbs6, jTextFieldHopLbs7, jTextFieldHopLbs8, jTextFieldHopLbs9, jTextFieldHopTime1, jTextFieldHopTime10, jTextFieldHopTime2, jTextFieldHopTime3, jTextFieldHopTime4, jTextFieldHopTime5, jTextFieldHopTime6, jTextFieldHopTime7, jTextFieldHopTime8, jTextFieldHopTime9});

        jPanel18Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jComboBoxHop1, jComboBoxHop10, jComboBoxHop2, jComboBoxHop3, jComboBoxHop4, jComboBoxHop5, jComboBoxHop6, jComboBoxHop7, jComboBoxHop8, jComboBoxHop9});

        jPanel18Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldPBGrav, jTextFieldPBVol});

        jPanel18Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldBoilStart, jTextFieldBoilStop});

        jPanel18Layout.setVerticalGroup(
            jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel18Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel30)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldPBVol, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel40)
                    .addComponent(jTextFieldPBGrav, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel41)
                    .addComponent(jLabel42)
                    .addComponent(jLabelEstOG)
                    .addComponent(jLabel39))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel44)
                    .addComponent(jTextFieldBoilStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel45)
                    .addComponent(jTextFieldBoilStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelBoilTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel31)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel32)
                    .addComponent(jLabel33)
                    .addComponent(jLabel34)
                    .addComponent(jLabel35)
                    .addComponent(jLabel36)
                    .addComponent(jLabel37)
                    .addComponent(jLabel38))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT1)
                    .addComponent(jLabelHopUtil1)
                    .addComponent(jLabelHopIBU1)
                    .addComponent(jLabelHopExp1))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT2)
                    .addComponent(jLabelHopUtil2)
                    .addComponent(jLabelHopIBU2)
                    .addComponent(jLabelHopExp2))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT3)
                    .addComponent(jLabelHopUtil3)
                    .addComponent(jLabelHopIBU3)
                    .addComponent(jLabelHopExp3))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT4)
                    .addComponent(jLabelHopUtil4)
                    .addComponent(jLabelHopIBU4)
                    .addComponent(jLabelHopExp4))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT5)
                    .addComponent(jLabelHopUtil5)
                    .addComponent(jLabelHopIBU5)
                    .addComponent(jLabelHopExp5))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT6)
                    .addComponent(jLabelHopUtil6)
                    .addComponent(jLabelHopIBU6)
                    .addComponent(jLabelHopExp6))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT7)
                    .addComponent(jLabelHopUtil7)
                    .addComponent(jLabelHopIBU7)
                    .addComponent(jLabelHopExp7))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT8)
                    .addComponent(jLabelHopUtil8)
                    .addComponent(jLabelHopIBU8)
                    .addComponent(jLabelHopExp8))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT9)
                    .addComponent(jLabelHopUtil9)
                    .addComponent(jLabelHopIBU9)
                    .addComponent(jLabelHopExp9))
                .addGap(2, 2, 2)
                .addGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxHop10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopTime10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextFieldHopLbs10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelHopBT10)
                    .addComponent(jLabelHopUtil10)
                    .addComponent(jLabelHopIBU10)
                    .addComponent(jLabelHopExp10))
                .addContainerGap(57, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel18.TabConstraints.tabTitle"), jPanel18); // NOI18N

        jPanel19.setName("jPanel19"); // NOI18N

        jLabel52.setFont(resourceMap.getFont("jLabel52.font")); // NOI18N
        jLabel52.setText(resourceMap.getString("jLabel52.text")); // NOI18N
        jLabel52.setName("jLabel52"); // NOI18N

        jLabel53.setText(resourceMap.getString("jLabel53.text")); // NOI18N
        jLabel53.setName("jLabel53"); // NOI18N

        jTextFieldKOStart.setEditable(false);
        jTextFieldKOStart.setFocusable(false);
        jTextFieldKOStart.setName("jTextFieldKOStart"); // NOI18N

        jLabelKOTime.setText(resourceMap.getString("jLabelKOTime.text")); // NOI18N
        jLabelKOTime.setName("jLabelKOTime"); // NOI18N

        jLabel54.setText(resourceMap.getString("jLabel54.text")); // NOI18N
        jLabel54.setName("jLabel54"); // NOI18N

        jTextFieldKOStop.setName("jTextFieldKOStop"); // NOI18N

        jLabel56.setText(resourceMap.getString("jLabel56.text")); // NOI18N
        jLabel56.setName("jLabel56"); // NOI18N

        jTextFieldKOTemp.setName("jTextFieldKOTemp"); // NOI18N

        jLabel59.setText(resourceMap.getString("jLabel59.text")); // NOI18N
        jLabel59.setName("jLabel59"); // NOI18N

        jTextFieldO2.setName("jTextFieldO2"); // NOI18N

        jLabel60.setText(resourceMap.getString("jLabel60.text")); // NOI18N
        jLabel60.setName("jLabel60"); // NOI18N

        jLabel57.setText(resourceMap.getString("jLabel57.text")); // NOI18N
        jLabel57.setName("jLabel57"); // NOI18N

        jTextFieldVolFin.setName("jTextFieldVolFin"); // NOI18N

        jLabel58.setText(resourceMap.getString("jLabel58.text")); // NOI18N
        jLabel58.setName("jLabel58"); // NOI18N

        jLabel61.setText(resourceMap.getString("jLabel61.text")); // NOI18N
        jLabel61.setName("jLabel61"); // NOI18N

        jTextFieldOG.setText(resourceMap.getString("jTextFieldOG.text")); // NOI18N
        jTextFieldOG.setName("jTextFieldOG"); // NOI18N

        jLabel96.setText(resourceMap.getString("jLabel96.text")); // NOI18N
        jLabel96.setName("jLabel96"); // NOI18N

        jTextFieldWortpH.setName("jTextFieldWortpH"); // NOI18N

        jLabel51.setText(resourceMap.getString("jLabel51.text")); // NOI18N
        jLabel51.setName("jLabel51"); // NOI18N

        jTextFieldRestStart.setEditable(false);
        jTextFieldRestStart.setFocusable(false);
        jTextFieldRestStart.setName("jTextFieldRestStart"); // NOI18N
        jTextFieldRestStart.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldRestStartKeyReleased(evt);
            }
        });

        jLabel49.setText(resourceMap.getString("jLabel49.text")); // NOI18N
        jLabel49.setName("jLabel49"); // NOI18N

        jTextFieldWhirlStop.setName("jTextFieldWhirlStop"); // NOI18N
        jTextFieldWhirlStop.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldWhirlStopKeyReleased(evt);
            }
        });

        jLabel50.setText(resourceMap.getString("jLabel50.text")); // NOI18N
        jLabel50.setName("jLabel50"); // NOI18N

        jTextFieldWhirlStart.setEditable(false);
        jTextFieldWhirlStart.setFocusable(false);
        jTextFieldWhirlStart.setName("jTextFieldWhirlStart"); // NOI18N

        jLabel47.setFont(resourceMap.getFont("jLabel47.font")); // NOI18N
        jLabel47.setText(resourceMap.getString("jLabel47.text")); // NOI18N
        jLabel47.setName("jLabel47"); // NOI18N

        jLabel48.setText(resourceMap.getString("jLabel48.text")); // NOI18N
        jLabel48.setName("jLabel48"); // NOI18N

        jLabelWPTime.setText(resourceMap.getString("jLabelWPTime.text")); // NOI18N
        jLabelWPTime.setName("jLabelWPTime"); // NOI18N

        jLabelRestTime.setText(resourceMap.getString("jLabelRestTime.text")); // NOI18N
        jLabelRestTime.setName("jLabelRestTime"); // NOI18N

        jTextFieldRestStop.setName("jTextFieldRestStop"); // NOI18N
        jTextFieldRestStop.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                jTextFieldRestStopKeyReleased(evt);
            }
        });

        javax.swing.GroupLayout jPanel19Layout = new javax.swing.GroupLayout(jPanel19);
        jPanel19.setLayout(jPanel19Layout);
        jPanel19Layout.setHorizontalGroup(
            jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel19Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel47)
                    .addGroup(jPanel19Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel49, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel48, javax.swing.GroupLayout.Alignment.TRAILING))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextFieldRestStart, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldWhirlStart, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel51, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel50, javax.swing.GroupLayout.Alignment.TRAILING))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextFieldRestStop, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextFieldWhirlStop, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelWPTime)
                            .addComponent(jLabelRestTime)))
                    .addComponent(jLabel52)
                    .addGroup(jPanel19Layout.createSequentialGroup()
                        .addGap(8, 8, 8)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel53)
                            .addComponent(jLabel56)
                            .addComponent(jLabel57)
                            .addComponent(jLabel96))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel19Layout.createSequentialGroup()
                                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldKOStart, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldKOTemp, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldVolFin, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(jPanel19Layout.createSequentialGroup()
                                        .addGap(18, 18, 18)
                                        .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addGroup(jPanel19Layout.createSequentialGroup()
                                                .addComponent(jLabel59)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(jTextFieldO2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addGroup(jPanel19Layout.createSequentialGroup()
                                                .addComponent(jLabel54)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(jTextFieldKOStop, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))))
                                    .addGroup(jPanel19Layout.createSequentialGroup()
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(jLabel58)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jLabel61)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(jTextFieldOG, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel60)
                                .addGap(9, 9, 9)
                                .addComponent(jLabelKOTime))
                            .addComponent(jTextFieldWortpH, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(303, Short.MAX_VALUE))
        );

        jPanel19Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldRestStart, jTextFieldRestStop, jTextFieldWhirlStart, jTextFieldWhirlStop});

        jPanel19Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldKOStart, jTextFieldKOStop, jTextFieldKOTemp, jTextFieldO2, jTextFieldOG, jTextFieldVolFin, jTextFieldWortpH});

        jPanel19Layout.setVerticalGroup(
            jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel19Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel47)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel48)
                    .addComponent(jTextFieldWhirlStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel50)
                    .addComponent(jTextFieldWhirlStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelWPTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel49)
                    .addComponent(jTextFieldRestStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel51)
                    .addComponent(jTextFieldRestStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelRestTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel52)
                .addGap(2, 2, 2)
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldKOStart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel53)
                    .addComponent(jLabel54)
                    .addComponent(jTextFieldKOStop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelKOTime))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldKOTemp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel56)
                    .addComponent(jTextFieldO2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel59)
                    .addComponent(jLabel60))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldVolFin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel57)
                    .addComponent(jLabel58)
                    .addComponent(jTextFieldOG, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel61))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel96)
                    .addComponent(jTextFieldWortpH, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(197, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel19.TabConstraints.tabTitle"), jPanel19); // NOI18N

        jPanel1.setName("jPanel1"); // NOI18N

        jTextFieldYeastVol.setName("jTextFieldYeastVol"); // NOI18N

        jLabel74.setText(resourceMap.getString("jLabel74.text")); // NOI18N
        jLabel74.setName("jLabel74"); // NOI18N

        jLabel75.setText(resourceMap.getString("jLabel75.text")); // NOI18N
        jLabel75.setName("jLabel75"); // NOI18N

        jLabelYeastGen.setText(resourceMap.getString("jLabelYeastGen.text")); // NOI18N
        jLabelYeastGen.setName("jLabelYeastGen"); // NOI18N

        buttonGroupYeast.add(jRadioButtonFreshPitch);
        jRadioButtonFreshPitch.setText(resourceMap.getString("jRadioButtonFreshPitch.text")); // NOI18N
        jRadioButtonFreshPitch.setName("jRadioButtonFreshPitch"); // NOI18N

        buttonGroupYeast.add(jRadioButtonRePitch);
        jRadioButtonRePitch.setText(resourceMap.getString("jRadioButtonRePitch.text")); // NOI18N
        jRadioButtonRePitch.setName("jRadioButtonRePitch"); // NOI18N
        jRadioButtonRePitch.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonRePitchItemStateChanged(evt);
            }
        });

        jLabel97.setText(resourceMap.getString("jLabel97.text")); // NOI18N
        jLabel97.setName("jLabel97"); // NOI18N

        jLabel98.setText(resourceMap.getString("jLabel98.text")); // NOI18N
        jLabel98.setName("jLabel98"); // NOI18N

        jComboBoxHarvVes.setEnabled(false);
        jComboBoxHarvVes.setName("jComboBoxHarvVes"); // NOI18N
        jComboBoxHarvVes.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
            public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
            }
            public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
                jComboBoxHarvVesPopupMenuWillBecomeInvisible(evt);
            }
            public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
            }
        });

        jLabel99.setText(resourceMap.getString("jLabel99.text")); // NOI18N
        jLabel99.setName("jLabel99"); // NOI18N

        jComboBoxHarvBatch.setEnabled(false);
        jComboBoxHarvBatch.setName("jComboBoxHarvBatch"); // NOI18N

        jLabel100.setText(resourceMap.getString("jLabel100.text")); // NOI18N
        jLabel100.setName("jLabel100"); // NOI18N

        jLabel1.setFont(resourceMap.getFont("jLabel1.font")); // NOI18N
        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        jLabel76.setText(resourceMap.getString("jLabel76.text")); // NOI18N
        jLabel76.setName("jLabel76"); // NOI18N

        jLabel7TargetTemp.setText(resourceMap.getString("jLabel7TargetTemp.text")); // NOI18N
        jLabel7TargetTemp.setName("jLabel7TargetTemp"); // NOI18N

        jComboBoxFermVessel.setName("jComboBoxFermVessel"); // NOI18N

        jLabel73.setText(resourceMap.getString("jLabel73.text")); // NOI18N
        jLabel73.setName("jLabel73"); // NOI18N

        jTextFieldPitchTime.setName("jTextFieldPitchTime"); // NOI18N

        jComboBoxYeast.setName("jComboBoxYeast"); // NOI18N

        jLabel72.setText(resourceMap.getString("jLabel72.text")); // NOI18N
        jLabel72.setName("jLabel72"); // NOI18N

        jLabel94.setFont(resourceMap.getFont("jLabel94.font")); // NOI18N
        jLabel94.setText(resourceMap.getString("jLabel94.text")); // NOI18N
        jLabel94.setName("jLabel94"); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel94)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel73)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldYeastVol, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel74)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel75)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldPitchTime, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel100)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabelYeastGen))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel72)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jComboBoxYeast, javax.swing.GroupLayout.PREFERRED_SIZE, 306, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jRadioButtonFreshPitch)
                                    .addComponent(jLabel98)
                                    .addComponent(jLabel99))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(jLabel97)
                                        .addGap(20, 20, 20)
                                        .addComponent(jRadioButtonRePitch))
                                    .addComponent(jComboBoxHarvVes, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jComboBoxHarvBatch, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                    .addComponent(jLabel1)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel7TargetTemp)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel76)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jComboBoxFermVessel, javax.swing.GroupLayout.PREFERRED_SIZE, 283, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap(294, Short.MAX_VALUE))
        );

        jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTextFieldPitchTime, jTextFieldYeastVol});

        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel94)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel72)
                    .addComponent(jComboBoxYeast, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel73)
                    .addComponent(jTextFieldYeastVol, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel74)
                    .addComponent(jLabel75)
                    .addComponent(jTextFieldPitchTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel100)
                    .addComponent(jLabelYeastGen))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jRadioButtonFreshPitch)
                    .addComponent(jLabel97)
                    .addComponent(jRadioButtonRePitch))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel98)
                    .addComponent(jComboBoxHarvVes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel99)
                    .addComponent(jComboBoxHarvBatch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel76)
                    .addComponent(jComboBoxFermVessel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel7TargetTemp)
                .addContainerGap(178, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel1.TabConstraints.tabTitle"), jPanel1); // NOI18N

        jPanel20.setName("jPanel20"); // NOI18N

        jLabel82.setFont(resourceMap.getFont("jLabel82.font")); // NOI18N
        jLabel82.setText(resourceMap.getString("jLabel82.text")); // NOI18N
        jLabel82.setName("jLabel82"); // NOI18N

        jScrollPane2.setName("jScrollPane2"); // NOI18N

        jTablePrimaryFermentation.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null}
            },
            new String [] {
                "Temp", "Gravity", "Date", "Time", "Notes"
            }
        ));
        jTablePrimaryFermentation.setName("jTablePrimaryFermentation"); // NOI18N
        jScrollPane2.setViewportView(jTablePrimaryFermentation);
        jTablePrimaryFermentation.getColumnModel().getColumn(0).setMinWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(0).setPreferredWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(0).setMaxWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title0")); // NOI18N
        jTablePrimaryFermentation.getColumnModel().getColumn(1).setMinWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(1).setPreferredWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(1).setMaxWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title1")); // NOI18N
        jTablePrimaryFermentation.getColumnModel().getColumn(2).setMinWidth(100);
        jTablePrimaryFermentation.getColumnModel().getColumn(2).setPreferredWidth(100);
        jTablePrimaryFermentation.getColumnModel().getColumn(2).setMaxWidth(100);
        jTablePrimaryFermentation.getColumnModel().getColumn(2).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title2")); // NOI18N
        jTablePrimaryFermentation.getColumnModel().getColumn(3).setMinWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(3).setPreferredWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(3).setMaxWidth(50);
        jTablePrimaryFermentation.getColumnModel().getColumn(3).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title3")); // NOI18N
        jTablePrimaryFermentation.getColumnModel().getColumn(4).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title5")); // NOI18N

        jLabel83.setFont(resourceMap.getFont("jLabel83.font")); // NOI18N
        jLabel83.setText(resourceMap.getString("jLabel83.text")); // NOI18N
        jLabel83.setName("jLabel83"); // NOI18N

        jScrollPane3.setName("jScrollPane3"); // NOI18N

        jTableDRest.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null}
            },
            new String [] {
                "Temp", "Gravity", "Date", "Time", "Notes"
            }
        ));
        jTableDRest.setName("jTableDRest"); // NOI18N
        jScrollPane3.setViewportView(jTableDRest);
        jTableDRest.getColumnModel().getColumn(0).setMinWidth(50);
        jTableDRest.getColumnModel().getColumn(0).setPreferredWidth(50);
        jTableDRest.getColumnModel().getColumn(0).setMaxWidth(50);
        jTableDRest.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title0")); // NOI18N
        jTableDRest.getColumnModel().getColumn(1).setMinWidth(50);
        jTableDRest.getColumnModel().getColumn(1).setPreferredWidth(50);
        jTableDRest.getColumnModel().getColumn(1).setMaxWidth(50);
        jTableDRest.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title1")); // NOI18N
        jTableDRest.getColumnModel().getColumn(2).setMinWidth(100);
        jTableDRest.getColumnModel().getColumn(2).setPreferredWidth(100);
        jTableDRest.getColumnModel().getColumn(2).setMaxWidth(100);
        jTableDRest.getColumnModel().getColumn(2).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title2")); // NOI18N
        jTableDRest.getColumnModel().getColumn(3).setMinWidth(50);
        jTableDRest.getColumnModel().getColumn(3).setPreferredWidth(50);
        jTableDRest.getColumnModel().getColumn(3).setMaxWidth(50);
        jTableDRest.getColumnModel().getColumn(3).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title3")); // NOI18N
        jTableDRest.getColumnModel().getColumn(4).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title5")); // NOI18N

        jLabel84.setFont(resourceMap.getFont("jLabel84.font")); // NOI18N
        jLabel84.setText(resourceMap.getString("jLabel84.text")); // NOI18N
        jLabel84.setName("jLabel84"); // NOI18N

        jScrollPane4.setName("jScrollPane4"); // NOI18N

        jTableCrash.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null}
            },
            new String [] {
                "Temp", "Gravity", "Date", "Time", "Notes"
            }
        ));
        jTableCrash.setName("jTableCrash"); // NOI18N
        jScrollPane4.setViewportView(jTableCrash);
        jTableCrash.getColumnModel().getColumn(0).setMinWidth(50);
        jTableCrash.getColumnModel().getColumn(0).setPreferredWidth(50);
        jTableCrash.getColumnModel().getColumn(0).setMaxWidth(50);
        jTableCrash.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title0")); // NOI18N
        jTableCrash.getColumnModel().getColumn(1).setMinWidth(50);
        jTableCrash.getColumnModel().getColumn(1).setPreferredWidth(50);
        jTableCrash.getColumnModel().getColumn(1).setMaxWidth(50);
        jTableCrash.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title1")); // NOI18N
        jTableCrash.getColumnModel().getColumn(2).setMinWidth(100);
        jTableCrash.getColumnModel().getColumn(2).setPreferredWidth(100);
        jTableCrash.getColumnModel().getColumn(2).setMaxWidth(100);
        jTableCrash.getColumnModel().getColumn(2).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title2")); // NOI18N
        jTableCrash.getColumnModel().getColumn(3).setMinWidth(50);
        jTableCrash.getColumnModel().getColumn(3).setPreferredWidth(50);
        jTableCrash.getColumnModel().getColumn(3).setMaxWidth(50);
        jTableCrash.getColumnModel().getColumn(3).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title3")); // NOI18N
        jTableCrash.getColumnModel().getColumn(4).setHeaderValue(resourceMap.getString("jTablePrimaryFermentation.columnModel.title5")); // NOI18N

        javax.swing.GroupLayout jPanel20Layout = new javax.swing.GroupLayout(jPanel20);
        jPanel20.setLayout(jPanel20Layout);
        jPanel20Layout.setHorizontalGroup(
            jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel20Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 682, Short.MAX_VALUE)
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 682, Short.MAX_VALUE)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 682, Short.MAX_VALUE)
                    .addComponent(jLabel82, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel83, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel84, javax.swing.GroupLayout.Alignment.LEADING))
                .addContainerGap())
        );
        jPanel20Layout.setVerticalGroup(
            jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel20Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel82)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel83)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel84)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(47, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel20.TabConstraints.tabTitle"), jPanel20); // NOI18N

        jTextFieldSNum.setName("jTextFieldSNum"); // NOI18N

        jButtonUpdate.setAction(actionMap.get("UpdateFields")); // NOI18N
        jButtonUpdate.setText(resourceMap.getString("jButtonUpdate.text")); // NOI18N
        jButtonUpdate.setName("jButtonUpdate"); // NOI18N

        jButtonNewRecord.setAction(actionMap.get("CreateNewRecord")); // NOI18N
        jButtonNewRecord.setText(resourceMap.getString("jButtonNewRecord.text")); // NOI18N
        jButtonNewRecord.setName("jButtonNewRecord"); // NOI18N

        jButtonExit.setAction(actionMap.get("ExitForm")); // NOI18N
        jButtonExit.setText(resourceMap.getString("jButtonExit.text")); // NOI18N
        jButtonExit.setName("jButtonExit"); // NOI18N

        jButtonPrintRecipe.setAction(actionMap.get("PrintRecipe")); // NOI18N
        jButtonPrintRecipe.setText(resourceMap.getString("jButtonPrintRecipe.text")); // NOI18N
        jButtonPrintRecipe.setName("jButtonPrintRecipe"); // NOI18N

        jComboBoxBrews.setName("jComboBoxBrews"); // NOI18N
        jComboBoxBrews.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
            public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
            }
            public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
                jComboBoxBrewsPopupMenuWillBecomeInvisible(evt);
            }
            public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
            }
        });

        jLabel43.setText(resourceMap.getString("jLabel43.text")); // NOI18N
        jLabel43.setName("jLabel43"); // NOI18N

        buttonGroup1.add(jRadioButtonN1);
        jRadioButtonN1.setText(resourceMap.getString("jRadioButtonN1.text")); // NOI18N
        jRadioButtonN1.setName("jRadioButtonN1"); // NOI18N
        jRadioButtonN1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jRadioButtonN1MouseClicked(evt);
            }
        });
        jRadioButtonN1.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonN1ItemStateChanged(evt);
            }
        });

        buttonGroup1.add(jRadioButtonN2);
        jRadioButtonN2.setText(resourceMap.getString("jRadioButtonN2.text")); // NOI18N
        jRadioButtonN2.setName("jRadioButtonN2"); // NOI18N
        jRadioButtonN2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jRadioButtonN2MouseClicked(evt);
            }
        });
        jRadioButtonN2.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                jRadioButtonN2ItemStateChanged(evt);
            }
        });

        buttonGroup1.add(jRadioButtonN3);
        jRadioButtonN3.setText(resourceMap.getString("jRadioButtonN3.text")); // NOI18N
        jRadioButtonN3.setName("jRadioButtonN3"); // NOI18N
        jRadioButtonN3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jRadioButtonN3MouseClicked(evt);
            }
        });

        buttonGroup1.add(jRadioButtonN4);
        jRadioButtonN4.setText(resourceMap.getString("jRadioButtonN4.text")); // NOI18N
        jRadioButtonN4.setName("jRadioButtonN4"); // NOI18N
        jRadioButtonN4.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jRadioButtonN4MouseClicked(evt);
            }
        });

        buttonGroup1.add(jRadioButtonN5);
        jRadioButtonN5.setText(resourceMap.getString("jRadioButtonN5.text")); // NOI18N
        jRadioButtonN5.setName("jRadioButtonN5"); // NOI18N
        jRadioButtonN5.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jRadioButtonN5MouseClicked(evt);
            }
        });

        buttonGroup1.add(jRadioButtonN6);
        jRadioButtonN6.setText(resourceMap.getString("jRadioButtonN6.text")); // NOI18N
        jRadioButtonN6.setName("jRadioButtonN6"); // NOI18N
        jRadioButtonN6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jRadioButtonN6MouseClicked(evt);
            }
        });

        jLabeli1.setText(resourceMap.getString("jLabeli1.text")); // NOI18N
        jLabeli1.setName("jLabeli1"); // NOI18N

        jComboBoxChoice.setName("jComboBoxChoice"); // NOI18N
        jComboBoxChoice.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
            public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
            }
            public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
                jComboBoxChoicePopupMenuWillBecomeInvisible(evt);
            }
            public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jTabbedPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 707, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addComponent(jButtonNewRecord)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonUpdate)
                        .addGap(18, 18, 18)
                        .addComponent(jButtonBrewFirst)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonBrewPrev)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonBrewNext)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonBrewLast)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 147, Short.MAX_VALUE)
                        .addComponent(jButtonPrintRecipe)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonExit))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jComboBoxBrews, 0, 379, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jComboBoxChoice, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonSearch)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTextFieldSNum, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addComponent(jLabel43)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jRadioButtonN1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabeli1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jRadioButtonN2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jRadioButtonN3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jRadioButtonN4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jRadioButtonN5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jRadioButtonN6)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                    .addComponent(jTextFieldSNum, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButtonSearch)
                    .addComponent(jComboBoxBrews, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxChoice, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel43)
                    .addComponent(jRadioButtonN1)
                    .addComponent(jRadioButtonN2)
                    .addComponent(jRadioButtonN3)
                    .addComponent(jRadioButtonN4)
                    .addComponent(jRadioButtonN5)
                    .addComponent(jRadioButtonN6)
                    .addComponent(jLabeli1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 422, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonNewRecord)
                    .addComponent(jButtonUpdate)
                    .addComponent(jButtonBrewFirst)
                    .addComponent(jButtonBrewPrev)
                    .addComponent(jButtonBrewNext)
                    .addComponent(jButtonBrewLast)
                    .addComponent(jButtonExit)
                    .addComponent(jButtonPrintRecipe))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jPopupMenu1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPopupMenu1MouseReleased
        // TODO add your handling code here:
    }//GEN-LAST:event_jPopupMenu1MouseReleased

    private void jPopupMenu1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPopupMenu1MousePressed
        // TODO add your handling code here:
    }//GEN-LAST:event_jPopupMenu1MousePressed

    private void formMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseReleased
        // TODO add your handling code here:
    }//GEN-LAST:event_formMouseReleased

    private void jTextFieldHydStartMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldHydStartMouseReleased
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextFieldHydStartMouseReleased

    private void jComboBoxBrewsPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_jComboBoxBrewsPopupMenuWillBecomeInvisible
        // TODO add your handling code here:
        String Itm = jComboBoxBrews.getSelectedItem().toString();


        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (BrewComp.equals(Itm)) {
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                jRadioButtonN1.setSelected(true);
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }//GEN-LAST:event_jComboBoxBrewsPopupMenuWillBecomeInvisible

    private void jTextFieldHydStopKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldHydStopKeyReleased
        // TODO add your handling code here:
        jTextFieldMashStart.setText(jTextFieldHydStop.getText());
    }//GEN-LAST:event_jTextFieldHydStopKeyReleased

    private void jTextFieldMashStopKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldMashStopKeyReleased
        // TODO add your handling code here:
        jTextFieldSpargeStart.setText(jTextFieldMashStop.getText());
    }//GEN-LAST:event_jTextFieldMashStopKeyReleased

    private void jTextFieldBoilStopKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldBoilStopKeyReleased
        // TODO add your handling code here:
        jTextFieldWhirlStart.setText(jTextFieldBoilStop.getText());
    }//GEN-LAST:event_jTextFieldBoilStopKeyReleased

    private void jTextFieldRestStartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldRestStartKeyReleased
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextFieldRestStartKeyReleased

    private void jTextFieldWhirlStopKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldWhirlStopKeyReleased
        // TODO add your handling code here:
        jTextFieldRestStart.setText(jTextFieldWhirlStop.getText());
    }//GEN-LAST:event_jTextFieldWhirlStopKeyReleased

    private void jTextFieldRestStopKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldRestStopKeyReleased
        // TODO add your handling code here:
        jTextFieldKOStart.setText(jTextFieldRestStop.getText());
    }//GEN-LAST:event_jTextFieldRestStopKeyReleased

    private void jComboBoxHarvVesPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_jComboBoxHarvVesPopupMenuWillBecomeInvisible
        // TODO add your handling code here:
        String FVItm = jComboBoxHarvVes.getSelectedItem().toString();
        String YItm = jComboBoxYeast.getSelectedItem().toString();
        String YID = "";
        String FVID = "";
        String bDate = "";

        for(String s[] : Yeast){
            if(s[1].equals(YItm)){
                YID = s[0];
            }
        }
        for(String s[] : Vessels){
            String tmp = (s[1] + " - " + s[2]);
            if(tmp.equals(FVItm)){
                FVID = s[0];
            }
        }
        DBA.openDBCon();
        jComboBoxHarvBatch.removeAllItems();
        jComboBoxHarvBatch.addItem("");
        for (String s[] : HarvBatch){
            if((s[3].equals(FVID))&&(s[4].equals(YID))){
                DBA.GetBeerData(s[2]);
                if (s[1] != null){
                    bDate = s[1].substring(0,s[1].length() - 11);
                }
                String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName + " - " + s[5];
                jComboBoxHarvBatch.insertItemAt(BrewComp, 1);
            }
        }
        DBA.closeDBCon();
    }//GEN-LAST:event_jComboBoxHarvVesPopupMenuWillBecomeInvisible

    private void jRadioButtonRePitchItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonRePitchItemStateChanged
        // TODO add your handling code here:
        if(jRadioButtonRePitch.isSelected()){
            jComboBoxHarvVes.setEnabled(true);
            jComboBoxHarvBatch.setEnabled(true);
        } else {
            jComboBoxHarvVes.setEnabled(false);
            jComboBoxHarvBatch.setEnabled(false);
        }
    }//GEN-LAST:event_jRadioButtonRePitchItemStateChanged

    private void jRadioButtonN1ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonN1ItemStateChanged
        // TODO add your handling code here:       
    }//GEN-LAST:event_jRadioButtonN1ItemStateChanged

    private void jRadioButtonN2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jRadioButtonN2ItemStateChanged
        // TODO add your handling code here:
    }//GEN-LAST:event_jRadioButtonN2ItemStateChanged

    private void jRadioButtonN1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRadioButtonN1MouseClicked
        // TODO add your handling code here:
        DBA.openDBCon();
        checkNotes();
        DBA.closeDBCon();
        SetData();
        
    }//GEN-LAST:event_jRadioButtonN1MouseClicked

    private void jRadioButtonN2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRadioButtonN2MouseClicked
        // TODO add your handling code here:
        DBA.openDBCon();
        checkNotes();
        DBA.closeDBCon();
        SetData();
    }//GEN-LAST:event_jRadioButtonN2MouseClicked

    private void jRadioButtonN3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRadioButtonN3MouseClicked
        // TODO add your handling code here:
        DBA.openDBCon();
        checkNotes();
        DBA.closeDBCon();
        SetData();
    }//GEN-LAST:event_jRadioButtonN3MouseClicked

    private void jRadioButtonN4MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRadioButtonN4MouseClicked
        // TODO add your handling code here:
        DBA.openDBCon();
        checkNotes();
        DBA.closeDBCon();
        SetData();
    }//GEN-LAST:event_jRadioButtonN4MouseClicked

    private void jRadioButtonN5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRadioButtonN5MouseClicked
        // TODO add your handling code here:
        DBA.openDBCon();
        checkNotes();
        DBA.closeDBCon();
        SetData();
    }//GEN-LAST:event_jRadioButtonN5MouseClicked

    private void jRadioButtonN6MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRadioButtonN6MouseClicked
        // TODO add your handling code here:
        DBA.openDBCon();
        checkNotes();
        DBA.closeDBCon();
        SetData();
    }//GEN-LAST:event_jRadioButtonN6MouseClicked

    private void jComboBoxChoicePopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_jComboBoxChoicePopupMenuWillBecomeInvisible
        // TODO add your handling code here:
        // Add code to refill the brew combo box depending on what was selected here.
        String Itm = jComboBoxChoice.getSelectedItem().toString();
        DBA.openDBCon();

        if(Itm.equals("All Beer")){
            Brews = DBA.RunSQLQuery("SELECT BID,BDate,BBeerID FROM Brews");
        } else {
            for(String s[] : Choice){
                if(Itm.equals(s[1])){
                    Brews = DBA.RunSQLQuery("SELECT BID,BDate,BBeerID FROM Brews WHERE BBeerID = '" +
                            s[0] + "'");
                }
            }
        }

        jComboBoxBrews.removeAllItems();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            jComboBoxBrews.addItem(s[0] + " - " + bDate + " - " + DBA.BName);
        }

        DBA.closeDBCon();

        LastRecord();
    }//GEN-LAST:event_jComboBoxChoicePopupMenuWillBecomeInvisible

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new BrewNotesFrame().setVisible(true);
            }
        });
    }

    public void doPop(MouseEvent e){
        if (e.isPopupTrigger()){
            jPopupMenu1.show(e.getComponent(),e.getX(),e.getY());
        }
    }

    public void SetHarvestBox(String VID){
        String FVItm = jComboBoxHarvVes.getSelectedItem().toString();
        String YItm = jComboBoxYeast.getSelectedItem().toString();
        String YID = "";
        String FVID = "";
        String bDate = "";

        for(String s[] : Yeast){
            if(s[1].equals(YItm)){
                YID = s[0];
            }
        }

        for(String s[] : Vessels){
            String tmp = (s[1] + " - " + s[2]);
            if(tmp.equals(FVItm)){
                FVID = s[0];
            }
        }
        //DBA.openDBCon();
        jComboBoxHarvBatch.removeAllItems();
        jComboBoxHarvBatch.addItem("");
        for (String s[] : HarvBatch){
            if((s[3].equals(FVID))&&(s[4].equals(YID))){
                DBA.GetBeerData(s[2]);
                if (s[1] != null){
                    bDate = s[1].substring(0,s[1].length() - 11);
                }
                String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName + " - " + s[5];
                jComboBoxHarvBatch.insertItemAt(BrewComp, 1);
            }
        }
        //DBA.closeDBCon();
    }


    public void LoadList(){

        //Default select note set 1
        jRadioButtonN1.setSelected(true);

        //Clear out jComboBoxes
        jComboBoxBeer.removeAllItems();
        jComboBoxFermVessel.removeAllItems();
        jComboBoxBrewers.removeAllItems();
        jComboBoxHop1.removeAllItems();
        jComboBoxHop2.removeAllItems();
        jComboBoxHop3.removeAllItems();
        jComboBoxHop4.removeAllItems();
        jComboBoxHop5.removeAllItems();
        jComboBoxHop6.removeAllItems();
        jComboBoxHop7.removeAllItems();
        jComboBoxHop8.removeAllItems();
        jComboBoxHop9.removeAllItems();
        jComboBoxHop10.removeAllItems();
        jComboBoxYeast.removeAllItems();
        jComboBoxBrews.removeAllItems();
        jComboBoxChoice.removeAllItems();
        jComboBoxChoice.addItem("All Beer");


        JMenuItem item3 = new JMenuItem("Exit");
        item3.setMnemonic('x');
        jPopupMenu1.add(item3);
        item3.addActionListener(
                new ActionListener(){
                    public void actionPerformed(ActionEvent e){
                        ExitForm();
                    }
                }
        );
        
        DBA.openDBCon();
        Brews = DBA.RunSQLQuery("SELECT BID,BDate,BBeerID FROM Brews");
        Brewers = DBA.RunSQLQuery("SELECT EmpID,EmpLastName,EmpFirstName FROM Employee");
        Hops = DBA.RunSQLQuery("SELECT HID,HopName FROM Hops");
        Vessels = DBA.RunSQLQuery("SELECT FVID,FVDesg,FVName FROM FV WHERE FVPRM>\'0\'");
        Yeast = DBA.RunSQLQuery("SELECT YID,YeastName,YeastActive FROM Yeast");
        Beers = DBA.RunSQLQuery("SELECT BId,BName FROM Beer WHERE InProduction>\'0\'");
        HarvBatch = DBA.RunSQLQuery("SELECT BID,BDate,BBeerID,PFVID,YeastID,YeastGen,YeastGenID FROM Brews");
        Capacities = DBA.RunSQLQuery("SELECT FVRate FROM FV WHERE FVPRM=\'1\'");
        Choice = DBA.RunSQLQuery("SELECT BId,BName FROM Beer WHERE InProduction>\'0\'");

        // Load the choice menu with: BREW ID - DATE - NAME
        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            jComboBoxBrews.addItem(s[0] + " - " + bDate + " - " + DBA.BName);
        }

        for(String s[] : Beers){
            jComboBoxBeer.addItem(s[1]);
        }

        //Add Volumes to the Volume Combo Box for vessel sizing
        for(String s[] : Capacities){
            boolean add = true;
            for (int x=0; x<jComboBoxVolume.getItemCount(); x++){
                if (s[0].equals(jComboBoxVolume.getItemAt(x))) add = false;
            }
            if (add == true) jComboBoxVolume.addItem(s[0]);
        }

        //Hide appropriate components.
        jComboBoxBeer.setVisible(false);
        jLabelBeer.setVisible(false);
        jButtonStartBrew.setVisible(false);
        jLabelBatch.setVisible(false);
        jComboBoxVolume.setVisible(false);


        for(String s[] : Brewers){
            jComboBoxBrewers.addItem(s[2] + " " + s[1]);
        }

        for(String s[] : Vessels){
            jComboBoxFermVessel.addItem(s[1] + " - " + s[2]);
        }

        jComboBoxHarvVes.addItem("");
        for(String s[] : Vessels){
            jComboBoxHarvVes.addItem(s[1] + " - " + s[2]);
        }

        jComboBoxHarvBatch.addItem("");
        for(String s[] : HarvBatch){
            jComboBoxHarvBatch.addItem(s[1] + " - " + s[2]);
        }

        for(String s[] : Yeast){
            jComboBoxYeast.addItem(s[1]);
        }

        for(String s[] : Choice){
            jComboBoxChoice.addItem(s[1]);
        }

        //Add blanks in jComboBoxes.
        jComboBoxHop1.addItem("");
        jComboBoxHop2.addItem("");
        jComboBoxHop3.addItem("");
        jComboBoxHop4.addItem("");
        jComboBoxHop5.addItem("");
        jComboBoxHop6.addItem("");
        jComboBoxHop7.addItem("");
        jComboBoxHop8.addItem("");
        jComboBoxHop9.addItem("");
        jComboBoxHop10.addItem("");

        for(String s[] : Hops){
            jComboBoxHop1.addItem(s[1]);
            jComboBoxHop2.addItem(s[1]);
            jComboBoxHop3.addItem(s[1]);
            jComboBoxHop4.addItem(s[1]);
            jComboBoxHop5.addItem(s[1]);
            jComboBoxHop6.addItem(s[1]);
            jComboBoxHop7.addItem(s[1]);
            jComboBoxHop8.addItem(s[1]);
            jComboBoxHop9.addItem(s[1]);
            jComboBoxHop10.addItem(s[1]);
        }

        DBA.closeDBCon();

        //Add Keyboard Listener to select all text in field when tabbed to.
        KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener("permanentFocusOwner", new PropertyChangeListener(){
            @Override
            public void propertyChange(final PropertyChangeEvent e){
                if(e.getOldValue() instanceof JTextField){
                    SwingUtilities.invokeLater(new Runnable(){
                        @Override
                        public void run(){
                            JTextField oldTextField = (JTextField)e.getOldValue();
                            oldTextField.setSelectionStart(0);
                            oldTextField.setSelectionEnd(0);
                        }
                    });
                }
                if (e.getNewValue() instanceof JTextField){
                    SwingUtilities.invokeLater(new Runnable(){
                        @Override
                        public void run(){
                            JTextField textField = (JTextField)e.getNewValue();
                            textField.selectAll();
                        }
                    });
                }
            }
        });

        //Get todays date.
        Today = new java.util.Date();

        //this.jTextFieldHydStop.keyUp += new KeyEventHandler(tb1_KeyUp);

        LastRecord();
        //CurrentRecord();
    }

    public void CurrentRecord(){
        String Itm = jComboBoxBrews.getSelectedItem().toString();

        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (BrewComp.equals(Itm)) {
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }
   

    @Action
    public void LastRecord() {
        jComboBoxBrews.setSelectedIndex(jComboBoxBrews.getItemCount()-1);
        String Itm = jComboBoxBrews.getSelectedItem().toString();
        

        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (BrewComp.equals(Itm)) {
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                jRadioButtonN1.setSelected(true);
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }

    public void checkNotes() {
        if (jRadioButtonN1.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID));
        if (jRadioButtonN2.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID2));
        if (jRadioButtonN3.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID3));
        if (jRadioButtonN4.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID4));
        if (jRadioButtonN5.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID5));
        if (jRadioButtonN6.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID6));
    }



    //----------------------------------------------
    //Function sets all of the fields on the screen.
    //All calculations should be completed or called
    //from this function.
    //----------------------------------------------
    public void SetData(){

        //Reset all Global variables used in calculations.
        GUtot = 0;
        VolFinal = 0;
        GUTOT = 0;
        MASHLBS = 0;
        TOTALIBU = 0;

        //Calculate Gravity and Volume based on recipe data.
        GUtot = (DBA.RGT - 1) * 1000 * DBA.RVol * 31;
        VolFinal = DBA.RVol * 31;

        jLabelAOG.setText("1.000");
        jLabelAVol.setText("0 BBL");
        jLabelATG.setText("1.000");
        jLabelABW.setText("0%");
        jLabelABV.setText("0%");
        jLabelIBU.setText("0");
        jLabelPri.setText("0 Days");
        jLabelSec.setText("0 Days");
        jLabelCon.setText("0 Days");

        //Reset all data on first screen (Secondary, etc)
        jLabelLagVes.setText("XXX");
        jLabelLagMoved.setText("0 BBL");
        jLabelLagTemp.setText("Temp = XX");
        jLabelLagSG.setText("SG = X.XXX");
        jLabelLagDate.setText("DATE = XX/XX/XX");
        jLabelLagTime.setText("Time = XX:XX");
        jLabelLagNotes.setText("Notes = N/A");
        jLabelCondVes.setText("XXX");
        jLabelCondMoved.setText("0 BBL");
        jLabelCondPSI.setText("XX");
        jLabelCondTemp.setText("Temp = XX");
        jLabelCondSG.setText("SG = X.XXX");
        jLabelCondDate.setText("DATE = XX/XX/XX");
        jLabelCondTime.setText("Time = XX:XX");
        jLabelPkgDate.setText("DATE = XX/XX/XX");

        //Open Database Connection
        DBA.openDBCon();

        //Set the radio button green if they are completed.
        if(DBA.BrewNoteID != 0){
            DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID));
            if(!CheckComplete(DBA.BrewNoteID)){
                jRadioButtonN1.setForeground(Color.RED);
            } else {
                jRadioButtonN1.setForeground(Color.BLACK);
            }
        }
        if(DBA.BrewNoteID2 != 0){
            DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID2));
            if(!CheckComplete(DBA.BrewNoteID2)){
                jRadioButtonN2.setForeground(Color.RED);
            } else {
                jRadioButtonN2.setForeground(Color.BLACK);
            }
        }
        if(DBA.BrewNoteID3 != 0){
            DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID3));
            if(!CheckComplete(DBA.BrewNoteID3)){
                jRadioButtonN3.setForeground(Color.RED);
            } else {
                jRadioButtonN3.setForeground(Color.BLACK);
            }
        }
        if(DBA.BrewNoteID4 != 0){
            DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID4));
            if(!CheckComplete(DBA.BrewNoteID4)){
                jRadioButtonN4.setForeground(Color.RED);
            } else {
                jRadioButtonN4.setForeground(Color.BLACK);
            }
        }
        if(DBA.BrewNoteID5 != 0){
            DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID5));
            if(!CheckComplete(DBA.BrewNoteID5)){
                jRadioButtonN5.setForeground(Color.RED);
            } else {
                jRadioButtonN5.setForeground(Color.BLACK);
            }
        }
        if(DBA.BrewNoteID6 != 0){
            DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID6));
            if(!CheckComplete(DBA.BrewNoteID6)){
                jRadioButtonN6.setForeground(Color.RED);
            } else {
                jRadioButtonN6.setForeground(Color.BLACK);
            }
        }

        //Set the radio buttons on the top.
        jRadioButtonN1.setVisible(true);
        jRadioButtonN2.setVisible(true);
        jRadioButtonN3.setVisible(true);
        jRadioButtonN4.setVisible(true);
        jRadioButtonN5.setVisible(true);
        jRadioButtonN6.setVisible(true);

        //Check which button is selected and run query.
        if(jRadioButtonN1.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID));
        if(jRadioButtonN2.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID2));
        if(jRadioButtonN3.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID3));
        if(jRadioButtonN4.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID4));
        if(jRadioButtonN5.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID5));
        if(jRadioButtonN6.isSelected()) DBA.GetBrewNotesData(Integer.toString(DBA.BrewNoteID6));

        if (DBA.BrewNoteID2 == 0) jRadioButtonN2.setVisible(false);
        if (DBA.BrewNoteID3 == 0) jRadioButtonN3.setVisible(false);
        if (DBA.BrewNoteID4 == 0) jRadioButtonN4.setVisible(false);
        if (DBA.BrewNoteID5 == 0) jRadioButtonN5.setVisible(false);
        if (DBA.BrewNoteID6 == 0) jRadioButtonN6.setVisible(false);

        //Create Number Formater for displaying numbers.
        NumberFormat f = new DecimalFormat("#0.00");
        NumberFormat f2 = new DecimalFormat("#0");
        NumberFormat f3 = new DecimalFormat("#0.000");

        //-------------------------
        //---Load the Malt Table---
        //-------------------------
        DefaultTableModel tabelModel = (DefaultTableModel)jTableMalt.getModel();
        for (int x=tabelModel.getRowCount()-1; x>=0; x--){
            tabelModel.removeRow(x);
        }
        if (DBA.Mpct01 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName01));
            String lbs = f.format(((DBA.Mpct01/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs01});
            GUTOT += (DBA.mlbs01*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs01;
        }
        if (DBA.Mpct02 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName02));
            String lbs = f.format(((DBA.Mpct02/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs02});
            GUTOT += (DBA.mlbs02*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs02;
        }
        if (DBA.Mpct03 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName03));
            String lbs = f.format(((DBA.Mpct03/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs03});
            GUTOT += (DBA.mlbs03*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs03;
        }
        if (DBA.Mpct04 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName04));
            String lbs = f.format(((DBA.Mpct04/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs04});
            GUTOT += (DBA.mlbs04*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs04;
        }
        if (DBA.Mpct05 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName05));
            String lbs = f.format(((DBA.Mpct05/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs05});
            GUTOT += (DBA.mlbs05*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs05;
        }
        if (DBA.Mpct06 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName06));
            String lbs = f.format(((DBA.Mpct06/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs06});
            GUTOT += (DBA.mlbs06*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs06;
        }
        if (DBA.Mpct07 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName07));
            String lbs = f.format(((DBA.Mpct07/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs07});
            GUTOT += (DBA.mlbs07*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs07;
        }
        if (DBA.Mpct08 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName08));
            String lbs = f.format(((DBA.Mpct08/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs08});
            GUTOT += (DBA.mlbs08*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs08;
        }
        if (DBA.Mpct09 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName09));
            String lbs = f.format(((DBA.Mpct09/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs09});
            GUTOT += (DBA.mlbs09*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs09;
        }
        if (DBA.Mpct10 > 0){
            DBA.GetMaltData(Integer.toString(DBA.MName10));
            String lbs = f.format(((DBA.Mpct10/100)*GUtot) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG));
            tabelModel.addRow(new Object[]{DBA.MaltName,lbs,DBA.mlbs10});
            GUTOT += (DBA.mlbs10*(float)DBA.MaltSG*((float)DBA.MaltEff/100));
            MASHLBS += DBA.mlbs10;
        }

        //------------------------
        //---Load Mineral Table---
        //------------------------
        jLabelGyp.setText(f.format(DBA.gGypsum) + " g");
        jLabelCaCl.setText(f.format(DBA.gCaCl) + " g");
        jLabelEps.setText(f.format(DBA.gEpsomSalt) + " g");
        jLabelNaCl.setText(f.format(DBA.gTableSalt) + " g");
        jLabelChalk.setText(f.format(DBA.gChalk) + " g");
        jTextFieldMineral1.setText(Float.toString(DBA.Gypsum));
        jTextFieldMineral2.setText(Float.toString(DBA.CaCl));
        jTextFieldMineral3.setText(Float.toString(DBA.EpsomSalt));
        jTextFieldMineral4.setText(Float.toString(DBA.TableSalt));
        jTextFieldMineral5.setText(Float.toString(DBA.Chalk));

        //---------------------
        //---Load Brew Data----
        //---------------------
        jDateChooser1.setDate(DBA.BDate);
        for(String s[] : Brewers){
            if(s[0].equals(Integer.toString(DBA.BEID))){
                jComboBoxBrewers.setSelectedItem(s[2] + " " + s[1]);
            }
        }
        jLabelBID.setText(Integer.toString(DBA.BID));
        DBA.GetStateData(Integer.toString(DBA.BState));
        jLabelBState.setText(DBA.StateDesc);
        jLabelTOG.setText(Float.toString(DBA.RGT));
        jLabelTVOL.setText(Float.toString(DBA.RVol) + " BBL");

        //-------------------------
        //---Load Hydration Data---
        //-------------------------
        jTextFieldHydStart.setText(DBA.HydStart.toString().substring(0,DBA.HydStart.toString().length() - 3));
        jTextFieldHydStop.setText(DBA.HydStop.toString().substring(0,DBA.HydStop.toString().length() - 3));
        jTextFieldFlowRate.setText(Float.toString(DBA.flowrate));
        jTextFieldHydTemp.setText(Float.toString(DBA.HydTemp));
        long ttl = (Math.abs(DBA.HydStart.getTime() - DBA.HydStop.getTime()))/60000;
        jLabelHydTime.setText("Total Hydration Time = " + Long.toString(ttl) + " min.");
        jLabelHydVol.setText("Total Hydration Volume = " + f.format((DBA.flowrate*ttl)/31) + " BBL");

        //---------------------
        //---Load Mash Data----
        //---------------------
        jTextFieldMashStart.setText(jTextFieldHydStop.getText());
        jTextFieldVorStart.setText(DBA.VorStart.toString().substring(0,DBA.VorStart.toString().length()-3));
        jTextFieldMashStop.setText(DBA.MashStop.toString().substring(0,DBA.MashStop.toString().length()-3));
        ttl = (Math.abs(DBA.HydStop.getTime() - DBA.MashStop.getTime())/60000);
        jLabelMashTime.setText("Total Mash Time = " + Long.toString(ttl) + " min.");
        ttl = (Math.abs(DBA.VorStart.getTime() - DBA.MashStop.getTime())/60000);
        jLabelVorlauft.setText("Total Vorlauft Time = " + Long.toString(ttl) + " min.");
        jLabelMashTemp.setText("Target Temp = " + f2.format(DBA.ttemp) + "°F");
        jTextFieldMashTemp.setText(Float.toString(DBA.MashTemp));
        jTextFieldMashNotes.setText(DBA.MashNotes);
        jTextFieldMashPh.setText(Float.toString(DBA.MashpH));
        jTextFieldSpargePh.setText(Float.toString(DBA.SpargepH));

        //----------------------
        //---Load Sparge Data---
        //----------------------
        jTextFieldSpargeStart.setText(jTextFieldMashStop.getText());
        jTextFieldSpargeStop.setText(DBA.SpargeStop.toString().substring(0,DBA.SpargeStop.toString().length()-3));
        jTextFieldSpargeTemp.setText(Float.toString(DBA.SpargeTemp));
        jTextFieldSpargeGrav.setText(Float.toString(DBA.SpargeBrix));
        ttl = (Math.abs(DBA.MashStop.getTime() - DBA.SpargeStop.getTime())/60000);
        jLabelSpargeTime.setText("Total Sparge Time = " + Long.toString(ttl) + " min.");
        jTextFieldSpargeNotes.setText(DBA.SpargeNotes);

        //------------------------
        //---Load Pre Boil Data---
        //------------------------
        jTextFieldPBVol.setText(Float.toString(DBA.PBVol));
        jTextFieldPBGrav.setText(Float.toString(DBA.PBBrix));
        float egrav = ((((DBA.PBBrix * 4) * DBA.PBVol)/DBA.RVol)/1000)+1;
        jLabelEstOG.setText("Estimated OG = " + f3.format(egrav));

        //-------------------------
        //---Load Boil Time Data---
        //-------------------------
        jTextFieldBoilStart.setText(DBA.BoilStart.toString().substring(0,DBA.BoilStart.toString().length()-3));
        jTextFieldBoilStop.setText(DBA.BoilStop.toString().substring(0,DBA.BoilStop.toString().length()-3));
        ttl = (Math.abs(DBA.BoilStart.getTime() - DBA.BoilStop.getTime())/60000);
        jLabelBoilTime.setText("Total Boil Time = " + Long.toString(ttl) + " min.");

        //----------------------------
        //---Load Whirl / Rest Data---
        //----------------------------
        jTextFieldWhirlStart.setText(jTextFieldBoilStop.getText());
        jTextFieldWhirlStop.setText(DBA.WhirlStop.toString().substring(0,DBA.WhirlStop.toString().length()-3));
        jTextFieldRestStart.setText(jTextFieldWhirlStop.getText());
        jTextFieldRestStop.setText(DBA.RestStop.toString().substring(0,DBA.RestStop.toString().length()-3));
        ttl = (Math.abs(DBA.BoilStop.getTime() - DBA.WhirlStop.getTime())/60000);
        jLabelWPTime.setText("Total Whirlpool Time = " + ttl + " min.");
        ttl = (Math.abs(DBA.WhirlStop.getTime() - DBA.RestStop.getTime())/60000);
        jLabelRestTime.setText("Total Rest Time = " + ttl + " min.");

        //--------------------------------
        //---Load Kettle Additions Data---
        //--------------------------------
        double util = 0;
        float ibu = 0;
        float CGRAV = 0;

        //Calculate CGRAV for IBU Calculations.
        float GStart = ((DBA.PBBrix*4)+1000)/1000;
        if( (1+((GStart-1.05)/2)) < 1){
            CGRAV = 1;
        } else {
            CGRAV = (float)(1 + ((GStart-1.05)/2));
        }

        if(DBA.HNum1 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum1))){
                    jComboBoxHop1.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime1.setText(DBA.H1Time.toString().substring(0,DBA.H1Time.toString().length()-3));
            jTextFieldHopLbs1.setText(Float.toString(DBA.H1lbs));
            ttl = (Math.abs(DBA.H1Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT1.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil1.setText(Double.toString(util) + "%");
            ibu = ((DBA.H1lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU1.setText(f.format(ibu));
            jLabelHopExp1.setText(Float.toString(DBA.hlbs01) + " Lbs.");
        } else {
            jComboBoxHop1.setSelectedItem("");
            jTextFieldHopTime1.setText("00:00:00");
            jTextFieldHopLbs1.setText("0");
            jLabelHopBT1.setText("0 min.");
            jLabelHopUtil1.setText("0 %");
            jLabelHopIBU1.setText("0");
            jLabelHopExp1.setText("0 Lbs.");
        }
        if(DBA.HNum2 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum2))){
                    jComboBoxHop2.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime2.setText(DBA.H2Time.toString().substring(0,DBA.H2Time.toString().length()-3));
            jTextFieldHopLbs2.setText(Float.toString(DBA.H2lbs));
            ttl = (Math.abs(DBA.H2Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT2.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil2.setText(Double.toString(util) + "%");
            ibu = ((DBA.H2lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU2.setText(f.format(ibu));
            jLabelHopExp2.setText(Float.toString(DBA.hlbs02) + " Lbs.");
        } else {
            jComboBoxHop2.setSelectedItem("");
            jTextFieldHopTime2.setText("00:00:00");
            jTextFieldHopLbs2.setText("0");
            jLabelHopBT2.setText("0 min.");
            jLabelHopUtil2.setText("0 %");
            jLabelHopIBU2.setText("0");
            jLabelHopExp2.setText("0 Lbs.");
        }
        if(DBA.HNum3 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum3))){
                    jComboBoxHop3.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime3.setText(DBA.H3Time.toString().substring(0,DBA.H3Time.toString().length()-3));
            jTextFieldHopLbs3.setText(Float.toString(DBA.H3lbs));
            ttl = (Math.abs(DBA.H3Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT3.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil3.setText(Double.toString(util) + "%");
            ibu = ((DBA.H3lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU3.setText(f.format(ibu));
            jLabelHopExp3.setText(Float.toString(DBA.hlbs03) + " Lbs.");
        } else {
            jComboBoxHop3.setSelectedItem("");
            jTextFieldHopTime3.setText("00:00:00");
            jTextFieldHopLbs3.setText("0");
            jLabelHopBT3.setText("0 min.");
            jLabelHopUtil3.setText("0 %");
            jLabelHopIBU3.setText("0");
            jLabelHopExp3.setText("0 Lbs.");
        }
        if(DBA.HNum4 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum4))){
                    jComboBoxHop4.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime4.setText(DBA.H4Time.toString().substring(0,DBA.H4Time.toString().length()-3));
            jTextFieldHopLbs4.setText(Float.toString(DBA.H4lbs));
            ttl = (Math.abs(DBA.H4Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT4.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil4.setText(Double.toString(util) + "%");
            ibu = ((DBA.H4lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU4.setText(f.format(ibu));
            jLabelHopExp4.setText(Float.toString(DBA.hlbs04) + " Lbs.");
        } else {
            jComboBoxHop4.setSelectedItem("");
            jTextFieldHopTime4.setText("00:00:00");
            jTextFieldHopLbs4.setText("0");
            jLabelHopBT4.setText("0 min.");
            jLabelHopUtil4.setText("0 %");
            jLabelHopIBU4.setText("0");
            jLabelHopExp4.setText("0 Lbs.");
        }
        if(DBA.HNum5 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum5))){
                    jComboBoxHop5.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime5.setText(DBA.H5Time.toString().substring(0,DBA.H5Time.toString().length()-3));
            jTextFieldHopLbs5.setText(Float.toString(DBA.H5lbs));
            ttl = (Math.abs(DBA.H5Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT5.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil5.setText(Double.toString(util) + "%");
            ibu = ((DBA.H5lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU5.setText(f.format(ibu));
            jLabelHopExp5.setText(Float.toString(DBA.hlbs05) + " Lbs.");
        } else {
            jComboBoxHop5.setSelectedItem("");
            jTextFieldHopTime5.setText("00:00:00");
            jTextFieldHopLbs5.setText("0");
            jLabelHopBT5.setText("0 min.");
            jLabelHopUtil5.setText("0 %");
            jLabelHopIBU5.setText("0");
            jLabelHopExp5.setText("0 Lbs.");
        }
        if(DBA.HNum6 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum6))){
                    jComboBoxHop6.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime6.setText(DBA.H6Time.toString().substring(0,DBA.H6Time.toString().length()-3));
            jTextFieldHopLbs6.setText(Float.toString(DBA.H6lbs));
            ttl = (Math.abs(DBA.H6Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT6.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil6.setText(Double.toString(util) + "%");
            ibu = ((DBA.H6lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU6.setText(f.format(ibu));
            jLabelHopExp6.setText(Float.toString(DBA.hlbs06) + " Lbs.");
        } else {
            jComboBoxHop6.setSelectedItem("");
            jTextFieldHopTime6.setText("00:00:00");
            jTextFieldHopLbs6.setText("0");
            jLabelHopBT6.setText("0 min.");
            jLabelHopUtil6.setText("0 %");
            jLabelHopIBU6.setText("0");
            jLabelHopExp6.setText("0 Lbs.");
        }
        if(DBA.HNum7 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum7))){
                    jComboBoxHop7.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime7.setText(DBA.H1Time.toString().substring(0,DBA.H7Time.toString().length()-3));
            jTextFieldHopLbs7.setText(Float.toString(DBA.H7lbs));
            ttl = (Math.abs(DBA.H7Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT7.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil7.setText(Double.toString(util) + "%");
            ibu = ((DBA.H7lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU7.setText(f.format(ibu));
            jLabelHopExp7.setText(Float.toString(DBA.hlbs07) + " Lbs.");
        } else {
            jComboBoxHop7.setSelectedItem("");
            jTextFieldHopTime7.setText("00:00:00");
            jTextFieldHopLbs7.setText("0");
            jLabelHopBT7.setText("0 min.");
            jLabelHopUtil7.setText("0 %");
            jLabelHopIBU7.setText("0");
            jLabelHopExp7.setText("0 Lbs.");
        }
        if(DBA.HNum8 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum8))){
                    jComboBoxHop8.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime8.setText(DBA.H8Time.toString().substring(0,DBA.H8Time.toString().length()-3));
            jTextFieldHopLbs8.setText(Float.toString(DBA.H8lbs));
            ttl = (Math.abs(DBA.H8Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT8.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil8.setText(Double.toString(util) + "%");
            ibu = ((DBA.H8lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU8.setText(f.format(ibu));
            jLabelHopExp8.setText(Float.toString(DBA.hlbs08) + " Lbs.");
        } else {
            jComboBoxHop8.setSelectedItem("");
            jTextFieldHopTime8.setText("00:00:00");
            jTextFieldHopLbs8.setText("0");
            jLabelHopBT8.setText("0 min.");
            jLabelHopUtil8.setText("0 %");
            jLabelHopIBU8.setText("0");
            jLabelHopExp8.setText("0 Lbs.");
        }
        if(DBA.HNum9 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum9))){
                    jComboBoxHop9.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime9.setText(DBA.H9Time.toString().substring(0,DBA.H9Time.toString().length()-3));
            jTextFieldHopLbs9.setText(Float.toString(DBA.H9lbs));
            ttl = (Math.abs(DBA.H9Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT9.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil9.setText(Double.toString(util) + "%");
            ibu = ((DBA.H9lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU9.setText(f.format(ibu));
            jLabelHopExp9.setText(Float.toString(DBA.hlbs09) + " Lbs.");
        } else {
            jComboBoxHop9.setSelectedItem("");
            jTextFieldHopTime9.setText("00:00:00");
            jTextFieldHopLbs9.setText("0");
            jLabelHopBT9.setText("0 min.");
            jLabelHopUtil9.setText("0 %");
            jLabelHopIBU9.setText("0");
            jLabelHopExp9.setText("0 Lbs.");
        }
        if(DBA.HNum10 > 0){
            for(String s[] : Hops){
                if(s[0].equals(Integer.toString(DBA.HNum10))){
                    jComboBoxHop10.setSelectedItem(s[1]);
                    DBA.GetHopsData(s[0]);
                }
            }
            jTextFieldHopTime10.setText(DBA.H10Time.toString().substring(0,DBA.H10Time.toString().length()-3));
            jTextFieldHopLbs10.setText(Float.toString(DBA.H10lbs));
            ttl = (Math.abs(DBA.H10Time.getTime() - DBA.BoilStop.getTime())/60000);
            jLabelHopBT10.setText(ttl + " min.");
            util = DBA.GetUtil(DBA.HopWhole, ttl);
            jLabelHopUtil10.setText(Double.toString(util) + "%");
            ibu = ((DBA.H10lbs*16)*(float)util*(DBA.HopAA/100)*7489)/(VolFinal*CGRAV);
            TOTALIBU += ibu;
            jLabelHopIBU10.setText(f.format(ibu));
            jLabelHopExp10.setText(Float.toString(DBA.hlbs10) + " Lbs.");
        } else {
            jComboBoxHop10.setSelectedItem("");
            jTextFieldHopTime10.setText("00:00:00");
            jTextFieldHopLbs10.setText("0");
            jLabelHopBT10.setText("0 min.");
            jLabelHopUtil10.setText("0 %");
            jLabelHopIBU10.setText("0");
            jLabelHopExp10.setText("0 Lbs.");
        }

        //jLabelIBU.setText(f.format(TOTALIBU));

        //-------------------------
        //---Load Knock Out Data---
        //-------------------------
        jTextFieldKOStart.setText(jTextFieldRestStop.getText());
        jTextFieldKOStop.setText(DBA.KOStop.toString().substring(0,DBA.KOStop.toString().length()-3));
        jTextFieldKOTemp.setText(Float.toString(DBA.KOTemp));
        jTextFieldVolFin.setText(Float.toString(DBA.VolFinal));
        jTextFieldO2.setText(Float.toString(DBA.BOxy));
        jTextFieldOG.setText(Float.toString(DBA.BOG));
        ttl = (Math.abs(DBA.RestStop.getTime() - DBA.KOStop.getTime())/60000);
        jLabelKOTime.setText("Total Knock Out Time = " + ttl + " min.");
        jTextFieldWortpH.setText(Float.toString(DBA.BoilpH));

        //---------------------
        //---Load Yeast Data---
        //---------------------
        for(String s[] : Yeast){
            if(s[0].equals(Integer.toString(DBA.YeastID))){
                jComboBoxYeast.setSelectedItem(s[1]);
            }
        }
        jTextFieldYeastVol.setText(Float.toString(DBA.YeastVol));
        jTextFieldPitchTime.setText(DBA.PitchTime.toString().substring(0,DBA.PitchTime.toString().length()-3));
        for(String s[] : Vessels){
            if(s[0].equals(Integer.toString(DBA.PFVID))){
                jComboBoxFermVessel.setSelectedItem(s[1] + " - " + s[2]);
            }
        }
        jLabel7TargetTemp.setText("T Temp = " + Float.toString(DBA.PTemp) + "°F");
        buttonGroupYeast.clearSelection();
        jComboBoxHarvVes.setSelectedItem("");
        jComboBoxHarvBatch.setSelectedItem("");
        jLabelYeastGen.setText(Integer.toString(DBA.YeastGen));
        if(DBA.PitchType == 0){
            buttonGroupYeast.clearSelection();
            jComboBoxHarvVes.setEnabled(false);
            jComboBoxHarvBatch.setEnabled(false);
        } else if(DBA.PitchType == 1){
            jRadioButtonFreshPitch.setSelected(true);
            jRadioButtonRePitch.setSelected(false);
            jComboBoxHarvVes.setEnabled(false);
            jComboBoxHarvBatch.setEnabled(false);
        } else if(DBA.PitchType == 2){
            jRadioButtonFreshPitch.setSelected(false);
            jRadioButtonRePitch.setSelected(true);
            jComboBoxHarvVes.setEnabled(true);
            jComboBoxHarvBatch.setEnabled(true);
            //Check if HarvVes is set, if so, select appropriately.
            if(DBA.HarvVes != 0){
                //Select appropriate value.
                for(String s[] : Vessels){
                    if(s[0].equals(Integer.toString(DBA.HarvVes))){
                        jComboBoxHarvVes.setSelectedItem(s[1] + " - " + s[2]);
                        SetHarvestBox(Integer.toString(DBA.HarvVes));
                    }
                }
                //Check if HarvBatch is set, if so select appropriately.
                if(DBA.HarvBatch != 0){
                    for(String s[] : HarvBatch){
                        if(s[0].equals(Integer.toString(DBA.HarvBatch))){
                            DBA.GetBeerData(s[2]);
                            String bDate = "";
                            if (s[1] != null){
                                bDate = s[1].substring(0,s[1].length() - 11);
                            }
                            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName + " - " + s[5];
                            jComboBoxHarvBatch.setSelectedItem(BrewComp);
                            int YGen = Integer.parseInt(s[5]) + 1;
                            jLabelYeastGen.setText(Integer.toString(YGen));
                            
                        }
                    }
                }
            } else {
                jComboBoxHarvBatch.removeAllItems();
                jComboBoxHarvBatch.addItem("");
            }
        }

        //----------------------------
        //---Load Primary Ferm Data---
        //----------------------------
        DefaultTableModel tMF = (DefaultTableModel)jTablePrimaryFermentation.getModel();
        
        if(DBA.PFTemp01>0){
            tMF.setValueAt(DBA.PFTemp01, 0, 0);
            tMF.setValueAt(DBA.PFGrav01, 0, 1);
            tMF.setValueAt(DBA.PFDate01, 0, 2);
            tMF.setValueAt(DBA.PFTime01.toString().substring(0,DBA.PFTime01.toString().length()-3), 0, 3);
            tMF.setValueAt(DBA.PFNote01, 0, 4);
        } else {
            tMF.setValueAt("", 0, 0);
            tMF.setValueAt("", 0, 1);
            tMF.setValueAt("", 0, 2);
            tMF.setValueAt("", 0, 3);
            tMF.setValueAt("", 0, 4);
        }
        if(DBA.PFTemp02>0){
            tMF.setValueAt(DBA.PFTemp02, 1, 0);
            tMF.setValueAt(DBA.PFGrav02, 1, 1);
            tMF.setValueAt(DBA.PFDate02, 1, 2);
            tMF.setValueAt(DBA.PFTime02.toString().substring(0,DBA.PFTime02.toString().length()-3), 1, 3);
            tMF.setValueAt(DBA.PFNote02, 1, 4);
        } else {
            tMF.setValueAt("", 1, 0);
            tMF.setValueAt("", 1, 1);
            tMF.setValueAt("", 1, 2);
            tMF.setValueAt("", 1, 3);
            tMF.setValueAt("", 1, 4);
        }
        if(DBA.PFTemp03>0){
            tMF.setValueAt(DBA.PFTemp03, 2, 0);
            tMF.setValueAt(DBA.PFGrav03, 2, 1);
            tMF.setValueAt(DBA.PFDate03, 2, 2);
            tMF.setValueAt(DBA.PFTime03.toString().substring(0,DBA.PFTime03.toString().length()-3), 2, 3);
            tMF.setValueAt(DBA.PFNote03, 2, 4);
        } else {
            tMF.setValueAt("", 2, 0);
            tMF.setValueAt("", 2, 1);
            tMF.setValueAt("", 2, 2);
            tMF.setValueAt("", 2, 3);
            tMF.setValueAt("", 2, 4);
        }
        if(DBA.PFTemp04>0){
            tMF.setValueAt(DBA.PFTemp04, 3, 0);
            tMF.setValueAt(DBA.PFGrav04, 3, 1);
            tMF.setValueAt(DBA.PFDate04, 3, 2);
            tMF.setValueAt(DBA.PFTime04.toString().substring(0,DBA.PFTime04.toString().length()-3), 3, 3);
            tMF.setValueAt(DBA.PFNote04, 3, 4);
        } else {
            tMF.setValueAt("", 3, 0);
            tMF.setValueAt("", 3, 1);
            tMF.setValueAt("", 3, 2);
            tMF.setValueAt("", 3, 3);
            tMF.setValueAt("", 3, 4);
        }
        if(DBA.PFTemp05>0){
            tMF.setValueAt(DBA.PFTemp05, 4, 0);
            tMF.setValueAt(DBA.PFGrav05, 4, 1);
            tMF.setValueAt(DBA.PFDate05, 4, 2);
            tMF.setValueAt(DBA.PFTime05.toString().substring(0,DBA.PFTime05.toString().length()-3), 4, 3);
            tMF.setValueAt(DBA.PFNote05, 4, 4);
        } else {
            tMF.setValueAt("", 4, 0);
            tMF.setValueAt("", 4, 1);
            tMF.setValueAt("", 4, 2);
            tMF.setValueAt("", 4, 3);
            tMF.setValueAt("", 4, 4);
        }
        if(DBA.PFTemp06>0){
            tMF.setValueAt(DBA.PFTemp06, 5, 0);
            tMF.setValueAt(DBA.PFGrav06, 5, 1);
            tMF.setValueAt(DBA.PFDate06, 5, 2);
            tMF.setValueAt(DBA.PFTime06.toString().substring(0,DBA.PFTime06.toString().length()-3), 5, 3);
            tMF.setValueAt(DBA.PFNote06, 5, 4);
        } else {
            tMF.setValueAt("", 5, 0);
            tMF.setValueAt("", 5, 1);
            tMF.setValueAt("", 5, 2);
            tMF.setValueAt("", 5, 3);
            tMF.setValueAt("", 5, 4);
        }
        if(DBA.PFTemp07>0){
            tMF.setValueAt(DBA.PFTemp07, 6, 0);
            tMF.setValueAt(DBA.PFGrav07, 6, 1);
            tMF.setValueAt(DBA.PFDate07, 6, 2);
            tMF.setValueAt(DBA.PFTime07.toString().substring(0,DBA.PFTime07.toString().length()-3), 6, 3);
            tMF.setValueAt(DBA.PFNote07, 6, 4);
        } else {
            tMF.setValueAt("", 6, 0);
            tMF.setValueAt("", 6, 1);
            tMF.setValueAt("", 6, 2);
            tMF.setValueAt("", 6, 3);
            tMF.setValueAt("", 6, 4);
        }


        //---------------------------
        //---Load D-Rest Ferm Data---
        //---------------------------
        DefaultTableModel tMD = (DefaultTableModel)jTableDRest.getModel();
        if(DBA.DRTemp01>0){
            tMD.setValueAt(DBA.DRTemp01, 0, 0);
            tMD.setValueAt(DBA.DRGrav01, 0, 1);
            tMD.setValueAt(DBA.DRDate01, 0, 2);
            tMD.setValueAt(DBA.DRTime01.toString().substring(0,DBA.DRTime01.toString().length()-3), 0, 3);
            tMD.setValueAt(DBA.DRNote01, 0, 4);
        } else {
            tMD.setValueAt("", 0, 0);
            tMD.setValueAt("", 0, 1);
            tMD.setValueAt("", 0, 2);
            tMD.setValueAt("", 0, 3);
            tMD.setValueAt("", 0, 4);
        }

        //--------------------------
        //---Load Crash Ferm Data---
        //--------------------------
        DefaultTableModel tMC = (DefaultTableModel)jTableCrash.getModel();
        if(DBA.YCTemp01>0){
            tMC.setValueAt(DBA.YCTemp01, 0, 0);
            tMC.setValueAt(DBA.YCGrav01, 0, 1);
            tMC.setValueAt(DBA.YCDate01, 0, 2);
            tMC.setValueAt(DBA.YCTime01.toString().substring(0,DBA.YCTime01.toString().length()-3), 0, 3);
            tMC.setValueAt(DBA.YCNote01, 0, 4);
        } else {
            tMC.setValueAt("", 0, 0);
            tMC.setValueAt("", 0, 1);
            tMC.setValueAt("", 0, 2);
            tMC.setValueAt("", 0, 3);
            tMC.setValueAt("", 0, 4);
        }



        //-------------------------------
        //---Load Secondary Stats Data---
        //-------------------------------
        if (DBA.SFVID != 0){
            DBA.GetFVData(Integer.toString(DBA.SFVID));
            jLabelLagVes.setText(DBA.FVDesg);
            jLabelLagMoved.setText(Float.toString(DBA.SFVol01));
            jLabelLagTemp.setText(Float.toString(DBA.SFTemp01) + "°F");
            jLabelLagSG.setText("SG = " + f3.format(DBA.SFGrav01));
            jLabelLagDate.setText(DBA.SFDate01.toString());
            jLabelLagTime.setText("Time = " + DBA.SFTime01.toString().substring(0,DBA.SFTime01.toString().length()-3));
            jLabelLagNotes.setText(DBA.SFNote01);
        }

        if (DBA.CVID != 0){
            DBA.GetFVData(Integer.toString(DBA.CVID));
            jLabelCondVes.setText(DBA.FVDesg);
            jLabelCondMoved.setText(Float.toString(DBA.CTVol));
            jLabelCondPSI.setText(Float.toString(DBA.BPSI));
            jLabelCondTemp.setText(Float.toString(DBA.CTTemp) + "°F");
            jLabelCondSG.setText("TG = " + f3.format(DBA.BTG));
            jLabelCondTime.setText("Time = " + DBA.CTTime.toString().substring(0,DBA.CTTime.toString().length()-3));
            jLabelCondDate.setText(DBA.CTDate.toString());
        }

        if(DBA.PDate != null){
            jLabelPkgDate.setText(DBA.PDate.toString());
        }

        //Fill in all calculated and batch values.
        //I.e. IBU, SRM, ABV, etc.
        jLabelIBU.setText(f.format(TOTALIBU));

        
        if (DBA.BOG != 0){
            jLabelAOG.setText(Float.toString(DBA.BOG));
        }
        if (DBA.VolFinal != 0){
            jLabelAVol.setText(Float.toString(DBA.VolFinal) + " BBL");
        }
        if (DBA.BTG != 0){
            jLabelATG.setText(Float.toString(DBA.BTG));
        }
        double abw = ((DBA.BOG - DBA.BTG)/(1.775 - DBA.BOG))*76.08;
        jLabelABW.setText(f.format(abw)+ "%");
        double abv = ((abw*DBA.BTG)/0.794);
        jLabelABV.setText(f.format(abv) + "%");
            

        //Set up calendar.
        Calendar cal1 = Calendar.getInstance();
        if(DBA.BDate != null){
            cal1.setTime(DBA.BDate);
        }

        Calendar cal2 = Calendar.getInstance();
        if(DBA.SFDate01 != null){
            cal2.setTime(DBA.SFDate01);
        }

        Calendar cal3 = Calendar.getInstance();
        if(DBA.CTDate != null){
            cal3.setTime(DBA.CTDate);
        }

        Calendar cal4 = Calendar.getInstance();
        if(DBA.PDate != null){
            cal4.setTime(DBA.PDate);
        }

        long milli1 = cal1.getTimeInMillis();
        long milli2 = cal2.getTimeInMillis();
        long milli3 = cal3.getTimeInMillis();
        long milli4 = cal4.getTimeInMillis();

        jLabelPri.setText(Long.toString((milli2 - milli1)/(24*60*60*1000)) + " Days");
        jLabelSec.setText(Long.toString((milli3 - milli2)/(24*60*60*1000)) + " Days");
        jLabelCon.setText(Long.toString((milli4 - milli3)/(24*60*60*1000)) + " Days");

        //Close Database Connection
        DBA.closeDBCon();
    }

    @Action
    public void FirstRecord() {
        jComboBoxBrews.setSelectedIndex(0);
        String Itm = jComboBoxBrews.getSelectedItem().toString();

        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (BrewComp.equals(Itm)) {
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                jRadioButtonN1.setSelected(true);
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }

    @Action
    public void NextRecord() {
        if(jComboBoxBrews.getSelectedIndex() <= (jComboBoxBrews.getItemCount() - 2)){
            jComboBoxBrews.setSelectedIndex(jComboBoxBrews.getSelectedIndex()+1);
        }
        String Itm = jComboBoxBrews.getSelectedItem().toString();

        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (BrewComp.equals(Itm)) {
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                jRadioButtonN1.setSelected(true);
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }

    @Action
    public void PrevRecord() {
        if(jComboBoxBrews.getSelectedIndex() >= 1){
            jComboBoxBrews.setSelectedIndex(jComboBoxBrews.getSelectedIndex()-1);
        }
        String Itm = jComboBoxBrews.getSelectedItem().toString();

        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = "";
            if (s[1] != null){
                bDate = s[1].substring(0,s[1].length() - 11);
            }
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (BrewComp.equals(Itm)) {
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                jRadioButtonN1.setSelected(true);
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }

    @Action
    public void ExitForm() {
        dispose();
    }

    @Action
    public void UpdateFields() {

        //Variable used to determine weather to check the volume or not.
        boolean checkval = false;

        //Check fields in database and update appropriately.
        int response = JOptionPane.showConfirmDialog(null,
                "This will modify Brew Data, Continue?",
                "Warning",JOptionPane.WARNING_MESSAGE);
        

        if (response == 0){
            DBA.openDBCon();
            //Set ID for Brew
            String BrewID = jLabelBID.getText();
            
            //Set ID for Current Brew Note
            String BrNoteID = Integer.toString(DBA.BrewNoteID);
            if (jRadioButtonN2.isSelected()) BrNoteID = Integer.toString(DBA.BrewNoteID2);
            if (jRadioButtonN3.isSelected()) BrNoteID = Integer.toString(DBA.BrewNoteID3);
            if (jRadioButtonN4.isSelected()) BrNoteID = Integer.toString(DBA.BrewNoteID4);
            if (jRadioButtonN5.isSelected()) BrNoteID = Integer.toString(DBA.BrewNoteID5);
            if (jRadioButtonN6.isSelected()) BrNoteID = Integer.toString(DBA.BrewNoteID6);

            //Start query statemetn.
            String BrewsQuery = "UPDATE Brews SET ";
            String BrewNotesQuery = "UPDATE BrewNotes SET ";

            //Always fill in Notes to ensure no comma problems.
            BrewsQuery += ("SFNote01=''");
            BrewNotesQuery += ("VorNotes=''");


            //Fill in appropriate values based on changes.

            //Stop editing on any cells still highlighted.
            if (jTableMalt.isEditing()){
                jTableMalt.getCellEditor().stopCellEditing();
            }
            if (jTablePrimaryFermentation.isEditing()){
                jTablePrimaryFermentation.getCellEditor().stopCellEditing();
            }
            if (jTableDRest.isEditing()){
                jTableDRest.getCellEditor().stopCellEditing();
            }
            if (jTableCrash.isEditing()){
                jTableCrash.getCellEditor().stopCellEditing();
            }

            //#######Brew Notes Query First#######
            DefaultTableModel tabelModel = (DefaultTableModel)jTableMalt.getModel();

            if (DBA.Mpct01 > 0){
                if (!Float.toString(DBA.mlbs01).equals(tabelModel.getValueAt(0, 2).toString())){
                    BrewNotesQuery += (", mlbs01='" + tabelModel.getValueAt(0,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(0, 2).toString().trim()).floatValue() - DBA.mlbs01;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName01));
                }
            }
            if (DBA.Mpct02 > 0){
                if (!Float.toString(DBA.mlbs02).equals(tabelModel.getValueAt(1, 2).toString())){
                    BrewNotesQuery += (", mlbs02='" + tabelModel.getValueAt(1,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(1, 2).toString().trim()).floatValue() - DBA.mlbs02;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName02));
                }
            }
            if (DBA.Mpct03 > 0){
                if (!Float.toString(DBA.mlbs03).equals(tabelModel.getValueAt(2, 2).toString())){
                    BrewNotesQuery += (", mlbs03='" + tabelModel.getValueAt(2,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(2, 2).toString().trim()).floatValue() - DBA.mlbs03;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName03));
                }
            }
            if (DBA.Mpct04 > 0){
                if (!Float.toString(DBA.mlbs04).equals(tabelModel.getValueAt(3, 2).toString())){
                    BrewNotesQuery += (", mlbs04='" + tabelModel.getValueAt(3,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(3, 2).toString().trim()).floatValue() - DBA.mlbs04;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName04));
                }
            }
            if (DBA.Mpct05 > 0){
                if (!Float.toString(DBA.mlbs05).equals(tabelModel.getValueAt(4, 2).toString())){
                    BrewNotesQuery += (", mlbs05='" + tabelModel.getValueAt(4,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(4, 2).toString().trim()).floatValue() - DBA.mlbs05;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName05));
                }
            }
            if (DBA.Mpct06 > 0){
                if (!Float.toString(DBA.mlbs06).equals(tabelModel.getValueAt(5, 2).toString())){
                    BrewNotesQuery += (", mlbs06='" + tabelModel.getValueAt(5,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(5, 2).toString().trim()).floatValue() - DBA.mlbs06;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName06));
                }
            }
            if (DBA.Mpct07 > 0){
                if (!Float.toString(DBA.mlbs07).equals(tabelModel.getValueAt(6, 2).toString())){
                    BrewNotesQuery += (", mlbs07='" + tabelModel.getValueAt(6,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(6, 2).toString().trim()).floatValue() - DBA.mlbs07;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName07));
                }
            }
            if (DBA.Mpct08 > 0){
                if (!Float.toString(DBA.mlbs08).equals(tabelModel.getValueAt(7, 2).toString())){
                    BrewNotesQuery += (", mlbs08='" + tabelModel.getValueAt(7,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(7, 2).toString().trim()).floatValue() - DBA.mlbs08;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName08));
                }
            }
            if (DBA.Mpct09 > 0){
                if (!Float.toString(DBA.mlbs09).equals(tabelModel.getValueAt(8, 2).toString())){
                    BrewNotesQuery += (", mlbs09='" + tabelModel.getValueAt(8,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(8, 2).toString().trim()).floatValue() - DBA.mlbs09;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName09));
                }
            }
            if (DBA.Mpct10 > 0){
                if (!Float.toString(DBA.mlbs10).equals(tabelModel.getValueAt(9, 2).toString())){
                    BrewNotesQuery += (", mlbs10='" + tabelModel.getValueAt(9,2).toString() + "'");
                    //There is a new value update inventory.
                    float difference = Float.valueOf(tabelModel.getValueAt(9, 2).toString().trim()).floatValue() - DBA.mlbs10;
                    DBA.GetRecipesData(Integer.toString(DBA.RID));
                    DBA.UpdateMaltInventory(difference, Integer.toString(DBA.MName10));
                }
            }

            //Mineral updates
            if (!Float.toString(DBA.Gypsum).equals(jTextFieldMineral1.getText())){
                BrewNotesQuery += (", Gypsum='" + jTextFieldMineral1.getText() + "'");
            }
            if (!Float.toString(DBA.EpsomSalt).equals(jTextFieldMineral2.getText())){
                BrewNotesQuery += (", EpsomSalt='" + jTextFieldMineral2.getText() + "'");
            }
            if (!Float.toString(DBA.CaCl).equals(jTextFieldMineral3.getText())){
                BrewNotesQuery += (", CaCl='" + jTextFieldMineral3.getText() + "'");
            }
            if (!Float.toString(DBA.TableSalt).equals(jTextFieldMineral4.getText())){
                BrewNotesQuery += (", TableSalt='" + jTextFieldMineral4.getText() + "'");
            }
            if (!Float.toString(DBA.Chalk).equals(jTextFieldMineral5.getText())){
                BrewNotesQuery += (", Chalk='" + jTextFieldMineral5.getText() + "'");
            }
            
            //Hydration Info
            if(!(jTextFieldHydStart.getText()+":00").equals(DBA.HydStart.toString())){
                BrewNotesQuery += (", HydStart='" + jTextFieldHydStart.getText() + "'");
            }
            if(!(jTextFieldHydStop.getText()+":00").equals(DBA.HydStop.toString())){
                BrewNotesQuery += (", HydStop='" + jTextFieldHydStop.getText() + "'");
            }
            if(!jTextFieldFlowRate.getText().equals(Float.toString(DBA.flowrate))){
                BrewNotesQuery += (", flowrate='" + jTextFieldFlowRate.getText() + "'");
            }
            if(!jTextFieldHydTemp.getText().equals(Float.toString(DBA.HydTemp))){
                BrewNotesQuery += (", HydTemp='" + jTextFieldHydTemp.getText() + "'");
            }

            //Mash Info
            if(!(jTextFieldVorStart.getText()+":00").equals(DBA.VorStart.toString())){
                BrewNotesQuery += (", VorStart='" + jTextFieldVorStart.getText() + "'");
            }
            if(!(jTextFieldMashStop.getText()+":00").equals(DBA.MashStop.toString())){
                BrewNotesQuery += (", MashStop='" + jTextFieldMashStop.getText() + "'");
            }
            if(!jTextFieldMashTemp.getText().equals(Float.toString(DBA.MashTemp))){
                BrewNotesQuery += (", MashTemp='" + jTextFieldMashTemp.getText() + "'");
            }
            if(!jTextFieldMashNotes.getText().equals(DBA.MashNotes)){
                BrewNotesQuery += (", MashNotes='" + jTextFieldMashNotes.getText() + "'");
            }
            if(!jTextFieldMashPh.getText().equals(Float.toString(DBA.MashpH))){
                BrewNotesQuery += (", MashpH='" + jTextFieldMashPh.getText() + "'");
            }
            
            //Sparge Info
            if(!(jTextFieldSpargeStop.getText()+":00").equals(DBA.SpargeStop.toString())){
                BrewNotesQuery += (", SpargeStop='" + jTextFieldSpargeStop.getText() + "'");
            }
            if(!jTextFieldSpargeTemp.getText().equals(Float.toString(DBA.SpargeTemp))){
                BrewNotesQuery += (", SpargeTemp='" + jTextFieldSpargeTemp.getText() + "'");
            }
            if(!jTextFieldSpargeGrav.getText().equals(Float.toString(DBA.SpargeBrix))){
                BrewNotesQuery += (", SpargeBrix='" + jTextFieldSpargeGrav.getText() + "'");
            }
            if(!jTextFieldSpargeNotes.getText().equals(DBA.SpargeNotes)){
                BrewNotesQuery += (", SpargeNotes='" + jTextFieldSpargeNotes.getText() + "'");
            }
            if(!jTextFieldSpargePh.getText().equals(Float.toString(DBA.SpargepH))){
                BrewNotesQuery += (", SpargepH='" + jTextFieldSpargePh.getText() + "'");
            }
            
            //Pre Boil Stuff
            if(!jTextFieldPBVol.getText().equals(Float.toString(DBA.PBVol))){
                BrewNotesQuery += (", PBVol='" + jTextFieldPBVol.getText() + "'");
            }
            if(!jTextFieldPBGrav.getText().equals(Float.toString(DBA.PBBrix))){
                BrewNotesQuery += (", PBBrix='" + jTextFieldPBGrav.getText() + "'");
            }

            //Boil Time Stuff
            if(!(jTextFieldBoilStart.getText()+":00").equals(DBA.BoilStart.toString())){
                BrewNotesQuery += (", BoilStart='" + jTextFieldBoilStart.getText() + "'");
            }
            if(!(jTextFieldBoilStop.getText()+":00").equals(DBA.BoilStop.toString())){
                BrewNotesQuery += (", BoilStop='" + jTextFieldBoilStop.getText() + "'");
            }

            //Kettle Stuff
            for(String s[] : Hops){
                if(s[1].equals(jComboBoxHop1.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum1))){
                        BrewNotesQuery += (", HNum1='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs1.getText().trim()).floatValue() - DBA.H1lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop2.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum2))){
                        BrewNotesQuery += (", HNum2='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs2.getText().trim()).floatValue() - DBA.H2lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop3.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum3))){
                        BrewNotesQuery += (", HNum3='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs3.getText().trim()).floatValue() - DBA.H3lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop4.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum4))){
                        BrewNotesQuery += (", HNum4='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs4.getText().trim()).floatValue() - DBA.H4lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop5.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum5))){
                        BrewNotesQuery += (", HNum5='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs5.getText().trim()).floatValue() - DBA.H5lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop6.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum6))){
                        BrewNotesQuery += (", HNum6='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs6.getText().trim()).floatValue() - DBA.H6lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop7.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum7))){
                        BrewNotesQuery += (", HNum7='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs7.getText().trim()).floatValue() - DBA.H7lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop8.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum8))){
                        BrewNotesQuery += (", HNum8='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs8.getText().trim()).floatValue() - DBA.H8lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop9.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum9))){
                        BrewNotesQuery += (", HNum9='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs9.getText().trim()).floatValue() - DBA.H9lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
                if(s[1].equals(jComboBoxHop10.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HNum10))){
                        BrewNotesQuery += (", HNum10='" + s[0] + "'");
                        float difference = Float.valueOf(jTextFieldHopLbs10.getText().trim()).floatValue() - DBA.H10lbs;
                        DBA.UpdateHopsInventory(difference, Integer.toString(Integer.parseInt(s[0])));
                    }
                }
            }
            //If no hops selected, reset field.
            if(jComboBoxHop1.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum1='0'");
            }
            if(jComboBoxHop2.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum2='0'");
            }
            if(jComboBoxHop3.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum3='0'");
            }
            if(jComboBoxHop4.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum4='0'");
            }
            if(jComboBoxHop5.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum5='0'");
            }
            if(jComboBoxHop6.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum6='0'");
            }
            if(jComboBoxHop7.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum7='0'");
            }
            if(jComboBoxHop8.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum8='0'");
            }
            if(jComboBoxHop9.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum9='0'");
            }
            if(jComboBoxHop10.getSelectedIndex() == 0){
                BrewNotesQuery += (", HNum10='0'");
            }
            if((!(jTextFieldHopTime1.getText()+":00").equals(DBA.H1Time.toString()))&&(!jTextFieldHopTime1.getText().equals(""))){
                BrewNotesQuery += (", H1Time='" + jTextFieldHopTime1.getText() + "'");
            }
            if((!jTextFieldHopLbs1.getText().equals(Float.toString(DBA.H1lbs)))&&(!jTextFieldHopLbs1.getText().equals(""))){
                BrewNotesQuery += (", H1lbs='" + jTextFieldHopLbs1.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs1.getText().trim()).floatValue() - DBA.H1lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum1));
            }
            if((!(jTextFieldHopTime2.getText()+":00").equals(DBA.H2Time.toString()))&&(!jTextFieldHopTime2.getText().equals(""))){
                BrewNotesQuery += (", H2Time='" + jTextFieldHopTime2.getText() + "'");
            }
            if((!jTextFieldHopLbs2.getText().equals(Float.toString(DBA.H2lbs)))&&(!jTextFieldHopLbs2.getText().equals(""))){
                BrewNotesQuery += (", H2lbs='" + jTextFieldHopLbs2.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs2.getText().trim()).floatValue() - DBA.H2lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum2));
            }
            if((!(jTextFieldHopTime3.getText()+":00").equals(DBA.H3Time.toString()))&&(!jTextFieldHopTime3.getText().equals(""))){
                BrewNotesQuery += (", H3Time='" + jTextFieldHopTime3.getText() + "'");
            }
            if((!jTextFieldHopLbs3.getText().equals(Float.toString(DBA.H3lbs)))&&(!jTextFieldHopLbs3.getText().equals(""))){
                BrewNotesQuery += (", H3lbs='" + jTextFieldHopLbs3.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs3.getText().trim()).floatValue() - DBA.H3lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum3));
            }
            if((!(jTextFieldHopTime4.getText()+":00").equals(DBA.H4Time.toString()))&&(!jTextFieldHopTime4.getText().equals(""))){
                BrewNotesQuery += (", H4Time='" + jTextFieldHopTime4.getText() + "'");
            }
            if((!jTextFieldHopLbs4.getText().equals(Float.toString(DBA.H4lbs)))&&(!jTextFieldHopLbs4.getText().equals(""))){
                BrewNotesQuery += (", H4lbs='" + jTextFieldHopLbs4.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs4.getText().trim()).floatValue() - DBA.H4lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum4));
            }
            if((!(jTextFieldHopTime5.getText()+":00").equals(DBA.H5Time.toString()))&&(!jTextFieldHopTime5.getText().equals(""))){
                BrewNotesQuery += (", H5Time='" + jTextFieldHopTime5.getText() + "'");
            }
            if((!jTextFieldHopLbs5.getText().equals(Float.toString(DBA.H5lbs)))&&(!jTextFieldHopLbs5.getText().equals(""))){
                BrewNotesQuery += (", H5lbs='" + jTextFieldHopLbs5.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs5.getText().trim()).floatValue() - DBA.H5lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum5));
            }
            if((!(jTextFieldHopTime6.getText()+":00").equals(DBA.H6Time.toString()))&&(!jTextFieldHopTime6.getText().equals(""))){
                BrewNotesQuery += (", H6Time='" + jTextFieldHopTime6.getText() + "'");
            }
            if((!jTextFieldHopLbs6.getText().equals(Float.toString(DBA.H6lbs)))&&(!jTextFieldHopLbs6.getText().equals(""))){
                BrewNotesQuery += (", H6lbs='" + jTextFieldHopLbs6.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs6.getText().trim()).floatValue() - DBA.H6lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum6));
            }
            if((!(jTextFieldHopTime7.getText()+":00").equals(DBA.H7Time.toString()))&&(!jTextFieldHopTime7.getText().equals(""))){
                BrewNotesQuery += (", H7Time='" + jTextFieldHopTime7.getText() + "'");
            }
            if((!jTextFieldHopLbs7.getText().equals(Float.toString(DBA.H7lbs)))&&(!jTextFieldHopLbs7.getText().equals(""))){
                BrewNotesQuery += (", H7lbs='" + jTextFieldHopLbs7.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs7.getText().trim()).floatValue() - DBA.H7lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum7));
            }
            if((!(jTextFieldHopTime8.getText()+":00").equals(DBA.H8Time.toString()))&&(!jTextFieldHopTime8.getText().equals(""))){
                BrewNotesQuery += (", H8Time='" + jTextFieldHopTime8.getText() + "'");
            }
            if((!jTextFieldHopLbs8.getText().equals(Float.toString(DBA.H8lbs)))&&(!jTextFieldHopLbs8.getText().equals(""))){
                BrewNotesQuery += (", H8lbs='" + jTextFieldHopLbs8.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs8.getText().trim()).floatValue() - DBA.H8lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum8));
            }
            if((!(jTextFieldHopTime9.getText()+":00").equals(DBA.H9Time.toString()))&&(!jTextFieldHopTime9.getText().equals(""))){
                BrewNotesQuery += (", H9Time='" + jTextFieldHopTime9.getText() + "'");
            }
            if((!jTextFieldHopLbs9.getText().equals(Float.toString(DBA.H9lbs)))&&(!jTextFieldHopLbs9.getText().equals(""))){
                BrewNotesQuery += (", H9lbs='" + jTextFieldHopLbs9.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs9.getText().trim()).floatValue() - DBA.H9lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum9));
            }
            if((!(jTextFieldHopTime10.getText()+":00").equals(DBA.H10Time.toString()))&&(!jTextFieldHopTime10.getText().equals(""))){
                BrewNotesQuery += (", H10Time='" + jTextFieldHopTime10.getText() + "'");
            }
            if((!jTextFieldHopLbs10.getText().equals(Float.toString(DBA.H10lbs)))&&(!jTextFieldHopLbs10.getText().equals(""))){
                BrewNotesQuery += (", H10lbs='" + jTextFieldHopLbs10.getText() + "'");
                //There is a new value update inventory.
                float difference = Float.valueOf(jTextFieldHopLbs10.getText().trim()).floatValue() - DBA.H10lbs;
                DBA.UpdateHopsInventory(difference, Integer.toString(DBA.HNum10));
            }

             //Whirl / Rest Stuff
            if(!(jTextFieldWhirlStop.getText()+":00").equals(DBA.WhirlStop.toString())){
                BrewNotesQuery += (", WhirlStop='" + jTextFieldWhirlStop.getText() + "'");
            }
            if(!(jTextFieldRestStop.getText()+":00").equals(DBA.RestStop.toString())){
                BrewNotesQuery += (", RestStop='" + jTextFieldRestStop.getText() + "'");
            }

            //KO Info
            if(!(jTextFieldKOStop.getText()+":00").equals(DBA.KOStop.toString())){
                BrewNotesQuery += (", KOStop='" + jTextFieldKOStop.getText() + "'");
            }
            if(!jTextFieldKOTemp.getText().equals(Float.toString(DBA.KOTemp))){
                BrewNotesQuery += (", KOTemp='" + jTextFieldKOTemp.getText() + "'");
            }
            if(!jTextFieldVolFin.getText().equals(Float.toString(DBA.VolFinal))){
                BrewNotesQuery += (", VolFinal='" + jTextFieldVolFin.getText() + "'");
                //TODO: ADD CODE TO CALCULATE VOLUME OF ALL BREWS...
                
                //BrewsQuery += (", VolLeft='" + jTextFieldVolFin.getText() + "'");
                checkval = true;
                
            }
            if(!jTextFieldO2.getText().equals(Float.toString(DBA.BOxy))){
                BrewNotesQuery += (", BOxy='" + jTextFieldO2.getText() + "'");
            }
            if(!jTextFieldOG.getText().equals(Float.toString(DBA.BOG))){
                BrewNotesQuery += (", BOG='" + jTextFieldOG.getText() + "'");
            }
            if(!jTextFieldWortpH.getText().equals(Float.toString(DBA.BoilpH))){
                BrewNotesQuery += (", BoilpH='" + jTextFieldWortpH.getText() + "'");
            }

            BrewNotesQuery += " WHERE BNID = '" + BrNoteID + "'";

            DBA.RunSQLUpdateQuery(BrewNotesQuery);


            //######Now update Brews Data#######
            //Gerneral Info
            java.util.Date jDate = jDateChooser1.getDate();
            java.sql.Date sDate = new java.sql.Date(jDate.getTime());
            if(!sDate.equals(DBA.BDate)){
                BrewsQuery += (", BDate='" + sDate.toString() + "'");
            }
            for(String s[] : Brewers){
                if((s[2] + " " + s[1]).equals(jComboBoxBrewers.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.BEID))){
                        BrewsQuery += (", BEID='" + s[0] + "'");
                    }
                }
            }

            if (checkval == true) {
                double volumeleft = CalcVolume();
                BrewsQuery += (", VolLeft='" + Double.toString(volumeleft) + "'");
            }

           

            //Yeast Stuff
            for(String s[] : Yeast){
                if(s[1].equals(jComboBoxYeast.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.YeastID))){
                        BrewsQuery += (", YeastID='" + s[0] + "'");
                    }
                }
            }
            for(String s[] : Vessels){
                if((s[1] + " - " + s[2]).equals(jComboBoxFermVessel.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.PFVID))){
                        BrewsQuery += (", PFVID='" + s[0] + "'");
                    }
                }
            }
            if(!(jTextFieldPitchTime.getText()+":00").equals(DBA.PitchTime.toString())){
                BrewsQuery += (", PitchTime='" + jTextFieldPitchTime.getText() + "'");
            }
            if(!jTextFieldYeastVol.getText().equals(Float.toString(DBA.YeastVol))){
                BrewsQuery += (", YeastVol='" + jTextFieldYeastVol.getText() + "'");
            }
            int ptchid = 0;
            if(jRadioButtonFreshPitch.isSelected()) ptchid = 1;
            if(jRadioButtonRePitch.isSelected()) ptchid = 2;
            if(ptchid != DBA.PitchType){
                BrewsQuery += (", PitchType='" + Integer.toString(ptchid) + "'");
            }
            for(String s[] : Vessels){
                if((s[1] + " - " + s[2]).equals(jComboBoxHarvVes.getSelectedItem().toString())){
                    if(!s[0].equals(Integer.toString(DBA.HarvVes))){
                        BrewsQuery += (", HarvVes='" + s[0] + "'");
                    }
                }
            }           
            for(String s[] : HarvBatch){
                DBA.GetBeerData(s[2]);
                String bDate = "";
                if (s[1] != null){
                    bDate = s[1].substring(0,s[1].length() - 11);
                }
                String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName + " - " + s[5];
                String selection = jComboBoxHarvBatch.getSelectedItem().toString();
                if(BrewComp.equals(selection)){
                    if(!s[0].equals(Integer.toString(DBA.HarvBatch))){
                        BrewsQuery += (", HarvBatch='" + s[0] + "'");
                    }
                }
            }
            if(!jLabelYeastGen.getText().equals(Integer.toString(DBA.YeastGen))){
                BrewsQuery += (", YeastGen='" + jLabelYeastGen.getText() + "'");
            }

            //Primary Ferm Stuff
            DateFormat formater = new SimpleDateFormat("MM/dd/yy");

            DefaultTableModel tMF = (DefaultTableModel)jTablePrimaryFermentation.getModel();

            if((!tMF.getValueAt(0, 0).toString().equals("")) && (!tMF.getValueAt(0, 0).toString().equals(Float.toString(DBA.PFTemp01)))){
                BrewsQuery += (", PFTemp01='" + tMF.getValueAt(0, 0).toString() + "'");
                //check to see if we need to update state.
                if(DBA.PFTemp01 == 0){
                    BrewsQuery += (", BState='5'");
                }
            }
            if((!tMF.getValueAt(0, 1).toString().equals("")) && (!tMF.getValueAt(0, 1).toString().equals(Float.toString(DBA.PFGrav01)))){
                BrewsQuery += (", PFGrav01='" + tMF.getValueAt(0, 1).toString() + "'");
            }
            if((!tMF.getValueAt(0, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(0, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate01='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(0, 3).toString().equals("")) && (!(tMF.getValueAt(0, 3).toString()+":00").equals(DBA.PFTime01.toString()))){
                BrewsQuery += (", PFTime01='" + tMF.getValueAt(0, 3).toString() + "'");
            }
            if((!tMF.getValueAt(0, 4).toString().equals("")) && (!tMF.getValueAt(0, 4).toString().equals(DBA.PFNote01))){
                BrewsQuery += (", PFNote01='" + tMF.getValueAt(0, 4).toString() + "'");
            }

            if((!tMF.getValueAt(1, 0).toString().equals("")) && (!tMF.getValueAt(1, 0).toString().equals(Float.toString(DBA.PFTemp02)))){
                BrewsQuery += (", PFTemp02='" + tMF.getValueAt(1, 0).toString() + "'");
            }
            if((!tMF.getValueAt(1, 1).toString().equals("")) && (!tMF.getValueAt(1, 1).toString().equals(Float.toString(DBA.PFGrav02)))){
                BrewsQuery += (", PFGrav02='" + tMF.getValueAt(1, 1).toString() + "'");
            }
            if((!tMF.getValueAt(1, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(1, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate02='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(1, 3).toString().equals("")) && (!(tMF.getValueAt(1, 3).toString()+":00").equals(DBA.PFTime02.toString()))){
                BrewsQuery += (", PFTime02='" + tMF.getValueAt(1, 3).toString() + "'");
            }
            if((!tMF.getValueAt(1, 4).toString().equals("")) && (!tMF.getValueAt(1, 4).toString().equals(DBA.PFNote02))){
                BrewsQuery += (", PFNote02='" + tMF.getValueAt(1, 4).toString() + "'");
            }

            if((!tMF.getValueAt(2, 0).toString().equals("")) && (!tMF.getValueAt(2, 0).toString().equals(Float.toString(DBA.PFTemp03)))){
                BrewsQuery += (", PFTemp03='" + tMF.getValueAt(2, 0).toString() + "'");
            }
            if((!tMF.getValueAt(2, 1).toString().equals("")) && (!tMF.getValueAt(2, 1).toString().equals(Float.toString(DBA.PFGrav03)))){
                BrewsQuery += (", PFGrav03='" + tMF.getValueAt(2, 1).toString() + "'");
            }
            if((!tMF.getValueAt(2, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(2, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate03='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(2, 3).toString().equals("")) && (!(tMF.getValueAt(2, 3).toString()+":00").equals(DBA.PFTime03.toString()))){
                BrewsQuery += (", PFTime03='" + tMF.getValueAt(2, 3).toString() + "'");
            }
            if((!tMF.getValueAt(2, 4).toString().equals("")) && (!tMF.getValueAt(2, 4).toString().equals(DBA.PFNote03))){
                BrewsQuery += (", PFNote03='" + tMF.getValueAt(2, 4).toString() + "'");
            }

            if((!tMF.getValueAt(3, 0).toString().equals("")) && (!tMF.getValueAt(3, 0).toString().equals(Float.toString(DBA.PFTemp04)))){
                BrewsQuery += (", PFTemp04='" + tMF.getValueAt(3, 0).toString() + "'");
            }
            if((!tMF.getValueAt(3, 1).toString().equals("")) && (!tMF.getValueAt(3, 1).toString().equals(Float.toString(DBA.PFGrav04)))){
                BrewsQuery += (", PFGrav04='" + tMF.getValueAt(3, 1).toString() + "'");
            }
            if((!tMF.getValueAt(3, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(3, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate04='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(3, 3).toString().equals("")) && (!(tMF.getValueAt(3, 3).toString()+":00").equals(DBA.PFTime04.toString()))){
                BrewsQuery += (", PFTime04='" + tMF.getValueAt(3, 3).toString() + "'");
            }
            if((!tMF.getValueAt(3, 4).toString().equals("")) && (!tMF.getValueAt(3, 4).toString().equals(DBA.PFNote04))){
                BrewsQuery += (", PFNote04='" + tMF.getValueAt(3, 4).toString() + "'");
            }

            if((!tMF.getValueAt(4, 0).toString().equals("")) && (!tMF.getValueAt(4, 0).toString().equals(Float.toString(DBA.PFTemp05)))){
                BrewsQuery += (", PFTemp05='" + tMF.getValueAt(4, 0).toString() + "'");
            }
            if((!tMF.getValueAt(4, 1).toString().equals("")) && (!tMF.getValueAt(4, 1).toString().equals(Float.toString(DBA.PFGrav05)))){
                BrewsQuery += (", PFGrav05='" + tMF.getValueAt(4, 1).toString() + "'");
            }
            if((!tMF.getValueAt(4, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(4, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate05='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(4, 3).toString().equals("")) && (!(tMF.getValueAt(4, 3).toString()+":00").equals(DBA.PFTime05.toString()))){
                BrewsQuery += (", PFTime05='" + tMF.getValueAt(1, 3).toString() + "'");
            }
            if((!tMF.getValueAt(4, 4).toString().equals("")) && (!tMF.getValueAt(4, 4).toString().equals(DBA.PFNote05))){
                BrewsQuery += (", PFNote05='" + tMF.getValueAt(4, 4).toString() + "'");
            }

            if((!tMF.getValueAt(5, 0).toString().equals("")) && (!tMF.getValueAt(5, 0).toString().equals(Float.toString(DBA.PFTemp06)))){
                BrewsQuery += (", PFTemp06='" + tMF.getValueAt(5, 0).toString() + "'");
            }
            if((!tMF.getValueAt(5, 1).toString().equals("")) && (!tMF.getValueAt(5, 1).toString().equals(Float.toString(DBA.PFGrav06)))){
                BrewsQuery += (", PFGrav06='" + tMF.getValueAt(5, 1).toString() + "'");
            }
            if((!tMF.getValueAt(5, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(5, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate06='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(5, 3).toString().equals("")) && (!(tMF.getValueAt(5, 3).toString()+":00").equals(DBA.PFTime06.toString()))){
                BrewsQuery += (", PFTime06='" + tMF.getValueAt(5, 3).toString() + "'");
            }
            if((!tMF.getValueAt(5, 4).toString().equals("")) && (!tMF.getValueAt(5, 4).toString().equals(DBA.PFNote06))){
                BrewsQuery += (", PFNote06='" + tMF.getValueAt(5, 4).toString() + "'");
            }

            if((!tMF.getValueAt(6, 0).toString().equals("")) && (!tMF.getValueAt(6, 0).toString().equals(Float.toString(DBA.PFTemp07)))){
                BrewsQuery += (", PFTemp07='" + tMF.getValueAt(6, 0).toString() + "'");
            }
            if((!tMF.getValueAt(6, 1).toString().equals("")) && (!tMF.getValueAt(6, 1).toString().equals(Float.toString(DBA.PFGrav07)))){
                BrewsQuery += (", PFGrav07='" + tMF.getValueAt(6, 1).toString() + "'");
            }
            if((!tMF.getValueAt(6, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMF.getValueAt(6, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", PFDate07='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMF.getValueAt(6, 3).toString().equals("")) && (!(tMF.getValueAt(6, 3).toString()+":00").equals(DBA.PFTime07.toString()))){
                BrewsQuery += (", PFTime07='" + tMF.getValueAt(6, 3).toString() + "'");
            }
            if((!tMF.getValueAt(6, 4).toString().equals("")) && (!tMF.getValueAt(6, 4).toString().equals(DBA.PFNote07))){
                BrewsQuery += (", PFNote07='" + tMF.getValueAt(6, 4).toString() + "'");
            }

            //Diacetyl Rest Stuff
            DefaultTableModel tMD = (DefaultTableModel)jTableDRest.getModel();
            if((!tMD.getValueAt(0, 0).toString().equals("")) && (!tMD.getValueAt(0, 0).toString().equals(Float.toString(DBA.DRTemp01)))){
                BrewsQuery += (", DRTemp01='" + tMD.getValueAt(0, 0).toString() + "'");
            }
            if((!tMD.getValueAt(0, 1).toString().equals("")) && (!tMD.getValueAt(0, 1).toString().equals(Float.toString(DBA.DRGrav01)))){
                BrewsQuery += (", DRGrav01='" + tMD.getValueAt(0, 1).toString() + "'");
            }
            if((!tMD.getValueAt(0, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMD.getValueAt(0, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", DRDate01='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMD.getValueAt(0, 3).toString().equals("")) && (!(tMD.getValueAt(0, 3).toString()+":00").equals(DBA.DRTime01.toString()))){
                BrewsQuery += (", DRTime01='" + tMD.getValueAt(0, 3).toString() + "'");
            }
            if((!tMD.getValueAt(0, 4).toString().equals("")) && (!tMD.getValueAt(0, 4).toString().equals(DBA.DRNote01))){
                BrewsQuery += (", DRNote01='" + tMD.getValueAt(0, 4).toString() + "'");
            }

            //Yeast Crash Stuff
            DefaultTableModel tMC = (DefaultTableModel)jTableCrash.getModel();
            if((!tMC.getValueAt(0, 0).toString().equals("")) && (!tMC.getValueAt(0, 0).toString().equals(Float.toString(DBA.YCTemp01)))){
                BrewsQuery += (", YCTemp01='" + tMC.getValueAt(0, 0).toString() + "'");
            }
            if((!tMC.getValueAt(0, 1).toString().equals("")) && (!tMC.getValueAt(0, 1).toString().equals(Float.toString(DBA.YCGrav01)))){
                BrewsQuery += (", YCGrav01='" + tMC.getValueAt(0, 1).toString() + "'");
            }
            if((!tMC.getValueAt(0, 2).toString().equals(""))){
                try{
                    java.util.Date parsedUtilDate = formater.parse(tMC.getValueAt(0, 2).toString());
                    java.sql.Date sqltDate = new java.sql.Date(parsedUtilDate.getTime());
                    BrewsQuery += (", YCDate01='" + sqltDate.toString() + "'");
                } catch (java.text.ParseException e){
                    //e.printStackTrace();
                }
            }
            if((!tMC.getValueAt(0, 3).toString().equals("")) && (!(tMC.getValueAt(0, 3).toString()+":00").equals(DBA.YCTime01.toString()))){
                BrewsQuery += (", YCTime01='" + tMC.getValueAt(0, 3).toString() + "'");
            }
            if((!tMC.getValueAt(0, 4).toString().equals("")) && (!tMC.getValueAt(0, 4).toString().equals(DBA.YCNote01))){
                BrewsQuery += (", YCNote01='" + tMC.getValueAt(0, 4).toString() + "'");
            }

            //End query statement.
            BrewsQuery += " WHERE BID = '" + BrewID + "'";

            
            DBA.RunSQLUpdateQuery(BrewsQuery);

            DBA.closeDBCon();
            
            //LoadList();
            CurrentRecord();
        }
    }

    public double CalcVolume(){
        //Look through all of the notes at the volume character and determine if the updated volume.
        double total = (double)0;
        if(DBA.BrewNoteID != 0){
            String temp = DBA.ReturnKey("BrewNotes", "BNID", Integer.toString(DBA.BrewNoteID), "VolFinal");
            total += Double.parseDouble(temp);
        }
        if(DBA.BrewNoteID2 != 0){
            String temp = DBA.ReturnKey("BrewNotes", "BNID", Integer.toString(DBA.BrewNoteID2), "VolFinal");
            total += Double.parseDouble(temp);
        }
        if(DBA.BrewNoteID3 != 0){
            String temp = DBA.ReturnKey("BrewNotes", "BNID", Integer.toString(DBA.BrewNoteID3), "VolFinal");
            total += Double.parseDouble(temp);
        }
        if(DBA.BrewNoteID4 != 0){
            String temp = DBA.ReturnKey("BrewNotes", "BNID", Integer.toString(DBA.BrewNoteID4), "VolFinal");
            total += Double.parseDouble(temp);
        }
        if(DBA.BrewNoteID5 != 0){
            String temp = DBA.ReturnKey("BrewNotes", "BNID", Integer.toString(DBA.BrewNoteID5), "VolFinal");
            total += Double.parseDouble(temp);
        }
        if(DBA.BrewNoteID6 != 0){
            String temp = DBA.ReturnKey("BrewNotes", "BNID", Integer.toString(DBA.BrewNoteID6), "VolFinal");
            total += Double.parseDouble(temp);
        }
        return total;
    }

    public boolean CheckComplete(int idee){
        boolean retval = true;
        if (DBA.Mpct01 != 0 && DBA.mlbs01 == 0) retval=false;
        if (DBA.Mpct02 != 0 && DBA.mlbs02 == 0) retval=false;
        if (DBA.Mpct03 != 0 && DBA.mlbs03 == 0) retval=false;
        if (DBA.Mpct04 != 0 && DBA.mlbs04 == 0) retval=false;
        if (DBA.Mpct05 != 0 && DBA.mlbs05 == 0) retval=false;
        if (DBA.Mpct06 != 0 && DBA.mlbs06 == 0) retval=false;
        if (DBA.Mpct07 != 0 && DBA.mlbs07 == 0) retval=false;
        if (DBA.Mpct08 != 0 && DBA.mlbs08 == 0) retval=false;
        if (DBA.Mpct09 != 0 && DBA.mlbs09 == 0) retval=false;
        if (DBA.Mpct10 != 0 && DBA.mlbs10 == 0) retval=false;
        if (DBA.HydStart.toString().equals("00:00:00")) retval=false;
        if (DBA.HydStop.toString().equals("00:00:00")) retval=false;
        if (DBA.flowrate == 0) retval=false;
        if (DBA.HydTemp == 0) retval=false;
        if (DBA.MashTemp == 0) retval=false;
        if (DBA.MashStop.toString().equals("00:00:00")) retval=false;
        if (DBA.VorStart.toString().equals("00:00:00")) retval=false;
        if (DBA.SpargeTemp == 0) retval=false;
        if (DBA.SpargeBrix == 0) retval=false;
        if (DBA.SpargeStop.toString().equals("00:00:00")) retval=false;
        if (DBA.PBVol == 0) retval=false;
        if (DBA.PBBrix == 0) retval=false;
        if (DBA.BoilStart.toString().equals("00:00:00")) retval=false;
        if (DBA.BoilStop.toString().equals("00:00:00")) retval=false;
        //Add Hop Data
        if (DBA.WhirlStop.toString().equals("00:00:00")) retval=false;
        if (DBA.RestStop.toString().equals("00:00:00")) retval=false;
        if (DBA.KOStop.toString().equals("00:00:00")) retval=false;
        if (DBA.KOTemp == 0) retval=false;
        if (DBA.VolFinal == 0) retval=false;
        if (DBA.BOG == 0) retval=false;
        if (DBA.BOxy == 0) retval=false;

        return retval;
    }

    @Action
    public void SearchID() {
        String Itm = jTextFieldSNum.getText();

        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = s[1].substring(0,s[1].length() - 11);
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (s[0].equals(Itm)) {
                jComboBoxBrews.setSelectedItem(BrewComp);
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                jRadioButtonN1.setSelected(true);
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }

    public void OpenSpec(String bid){
        DBA.openDBCon();

        for(String s[] : Brews){
            DBA.GetBeerData(s[2]);
            String bDate = s[1].substring(0,s[1].length() - 11);
            String BrewComp = s[0] + " - " + bDate + " - " + DBA.BName;

            if (s[0].equals(bid)) {
                jComboBoxBrews.setSelectedItem(BrewComp);
                DBA.GetBrewsData(s[0]);
                DBA.GetRecipesData(Integer.toString(DBA.RID));
                checkNotes();
            }
        }

        DBA.closeDBCon();

        SetData();
    }

    @Action
    public void CreateNewRecord() {
        int response = JOptionPane.showConfirmDialog(null,
                "This will create a new brewing record, continue?",
                "Warning",JOptionPane.WARNING_MESSAGE);


        if (response == 0){
            //Set Appropriate Fields visible.
            jComboBoxBeer.setVisible(true);
            jLabelBeer.setVisible(true);
            jButtonStartBrew.setVisible(true);
            jLabelBatch.setVisible(true);
            jComboBoxVolume.setVisible(true);

            //Hide appropriate fields.
            jButtonUpdate.setVisible(false);
            jButtonNewRecord.setVisible(false);
            jComboBoxBrews.setVisible(false);
            jButtonSearch.setVisible(false);
            jTextFieldSNum.setVisible(false);
            jButtonBrewFirst.setVisible(false);
            jButtonBrewLast.setVisible(false);
            jButtonBrewNext.setVisible(false);
            jButtonBrewPrev.setVisible(false);
        }

    }

    @Action
    public void StartNewBrew() {
        //Reset appropriate components.
        //Set Appropriate Fields visible.
        jComboBoxBeer.setVisible(false);
        jLabelBeer.setVisible(false);
        jButtonStartBrew.setVisible(false);
        jLabelBatch.setVisible(false);
        jComboBoxVolume.setVisible(false);

        //Hide appropriate fields.
        jButtonUpdate.setVisible(true);
        jButtonNewRecord.setVisible(true);
        jComboBoxBrews.setVisible(true);
        jButtonSearch.setVisible(true);
        jTextFieldSNum.setVisible(true);
        jButtonBrewFirst.setVisible(true);
        jButtonBrewLast.setVisible(true);
        jButtonBrewNext.setVisible(true);
        jButtonBrewPrev.setVisible(true);
        
        String NewBrewID = "";
        String NewBrewName = "";


        
        for(String s[] : Beers){
                if(s[1].equals(jComboBoxBeer.getSelectedItem().toString())){
                    NewBrewID = s[0];
                    NewBrewName = s[1];
                }
        }

        

        //Calculate how many brews needed to fill vessel.
        int numnotes = 1;
        double batchsize = Double.parseDouble(jComboBoxVolume.getSelectedItem().toString());
        double numbatches = batchsize / Global.SysSize;
        double num = Math.ceil(numbatches);
        numnotes = (int)num;

        int response = JOptionPane.showConfirmDialog(null,
                "This will create a new " + NewBrewName + " brew at " +
                Double.toString(batchsize) + " BBL, continue?",
                "Warning",JOptionPane.WARNING_MESSAGE);

        if (response == 0){
            DBA.openDBCon();

            //Find Recipe ID
            DBA.GetBeerData(NewBrewID);

            //Get Todays Date for a start.
            java.sql.Date brewdate = new java.sql.Date(Today.getTime());

            //Store the recipe ID.
            String RecipeNumber = Integer.toString(DBA.RecipeID);

            String query = "'" +
                Integer.toString(DBA.RecipeID) + "','" +
                NewBrewID + "','0','" +
                brewdate.toString() + "'";

            String fields = "RID,BBeerID,BState,BDate";
            DBA.RunSQLInsertQuery("Brews",fields,query);

            //Get last index not working.
            //String BrewID = DBA.GetLastIndex("Brews","BID");
            String BrewID = Integer.toString(Global.lastInsertID);

            //Create a new BrewNote based on number needed.
            //int numnotes = 1;
            for(int x=0; x<numnotes; x++){
                String BNQuery = "''";
                String BNFields = "VorNotes";
                DBA.RunSQLInsertQuery("BrewNotes", BNFields, BNQuery);
                //String idx = DBA.GetLastIndex("BrewNotes", "BNID");
                String idx = Integer.toString(Global.lastInsertID);
                String BrewQuery = "UPDATE Brews SET ";

                if(x == 0) BrewQuery += ("BrewNoteID='" + idx + "'");
                else if(x == 1) BrewQuery += ("BrewNoteID2='" + idx + "'");
                else if(x == 2) BrewQuery += ("BrewNoteID3='" + idx + "'");
                else if(x == 3) BrewQuery += ("BrewNoteID4='" + idx + "'");
                else if(x == 4) BrewQuery += ("BrewNoteID5='" + idx + "'");
                else if(x == 5) BrewQuery += ("BrewNoteID6='" + idx + "'");
                
                //End query statement.
                BrewQuery += " WHERE BID = '" + BrewID + "'";

                DBA.RunSQLUpdateQuery(BrewQuery);
            }

            //Now place all ingredients on spoken for so inventories match during brew day.
            DBA.GetRecipesData(RecipeNumber);

            //Calculate the Gravity and lbs of malt.
            float gravpoints = ((DBA.RGT-1)*1000)*DBA.RVol*(float)31;

            if (DBA.Mpct01 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName01));
                float lbs = ((DBA.Mpct01/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName01));
            }
            if (DBA.Mpct02 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName02));
                float lbs = ((DBA.Mpct02/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName02));
            }
            if (DBA.Mpct03 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName03));
                float lbs = ((DBA.Mpct03/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName03));
            }
            if (DBA.Mpct04 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName04));
                float lbs = ((DBA.Mpct04/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName04));
            }
            if (DBA.Mpct05 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName05));
                float lbs = ((DBA.Mpct05/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName05));
            }
            if (DBA.Mpct06 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName06));
                float lbs = ((DBA.Mpct06/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName06));
            }
            if (DBA.Mpct07 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName07));
                float lbs = ((DBA.Mpct07/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName07));
            }
            if (DBA.Mpct08 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName08));
                float lbs = ((DBA.Mpct08/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName08));
            }
            if (DBA.Mpct09 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName09));
                float lbs = ((DBA.Mpct09/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName09));
            }
            if (DBA.Mpct10 > 0){
                DBA.GetMaltData(Integer.toString(DBA.MName10));
                float lbs = ((DBA.Mpct10/100)*gravpoints) / (((float)DBA.MaltEff/100)*(float)DBA.MaltSG);
                lbs = lbs * (float)numnotes;
                DBA.AddMaltInventory(lbs, 0, 0, Integer.toString(DBA.MName10));
            }

            if (DBA.hlbs01 > 0){
                float lbs = DBA.hlbs01 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName01));
            }
            if (DBA.hlbs02 > 0){
                float lbs = DBA.hlbs02 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName02));
            }
            if (DBA.hlbs03 > 0){
                float lbs = DBA.hlbs03 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName03));
            }
            if (DBA.hlbs04 > 0){
                float lbs = DBA.hlbs04 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName04));
            }
            if (DBA.hlbs05 > 0){
                float lbs = DBA.hlbs05 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName05));
            }
            if (DBA.hlbs06 > 0){
                float lbs = DBA.hlbs06 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName06));
            }
            if (DBA.hlbs07 > 0){
                float lbs = DBA.hlbs07 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName07));
            }
            if (DBA.hlbs08 > 0){
                float lbs = DBA.hlbs08 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName08));
            }
            if (DBA.hlbs09 > 0){
                float lbs = DBA.hlbs09 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName09));
            }
            if (DBA.hlbs10 > 0){
                float lbs = DBA.hlbs10 * (float)numnotes;
                DBA.AddHopInventory(lbs, 0, 0, Integer.toString(DBA.HName10));
            }

            DBA.closeDBCon();
        }

        LoadList();
        LastRecord();

    }

    @Action
    public void PrintRecipe() {
        //Print the recipe to a printer.
        Global.PrintRecipeID = Integer.toString(DBA.RID);
        PrintRecipe PR = new PrintRecipe();
        PR.PrintSO();
    }



    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.ButtonGroup buttonGroupYeast;
    private javax.swing.JButton jButtonBrewFirst;
    private javax.swing.JButton jButtonBrewLast;
    private javax.swing.JButton jButtonBrewNext;
    private javax.swing.JButton jButtonBrewPrev;
    private javax.swing.JButton jButtonExit;
    private javax.swing.JButton jButtonNewRecord;
    private javax.swing.JButton jButtonPrintRecipe;
    private javax.swing.JButton jButtonSearch;
    private javax.swing.JButton jButtonStartBrew;
    private javax.swing.JButton jButtonUpdate;
    private javax.swing.JComboBox jComboBoxBeer;
    private javax.swing.JComboBox jComboBoxBrewers;
    private javax.swing.JComboBox jComboBoxBrews;
    private javax.swing.JComboBox jComboBoxChoice;
    private javax.swing.JComboBox jComboBoxFermVessel;
    private javax.swing.JComboBox jComboBoxHarvBatch;
    private javax.swing.JComboBox jComboBoxHarvVes;
    private javax.swing.JComboBox jComboBoxHop1;
    private javax.swing.JComboBox jComboBoxHop10;
    private javax.swing.JComboBox jComboBoxHop2;
    private javax.swing.JComboBox jComboBoxHop3;
    private javax.swing.JComboBox jComboBoxHop4;
    private javax.swing.JComboBox jComboBoxHop5;
    private javax.swing.JComboBox jComboBoxHop6;
    private javax.swing.JComboBox jComboBoxHop7;
    private javax.swing.JComboBox jComboBoxHop8;
    private javax.swing.JComboBox jComboBoxHop9;
    private javax.swing.JComboBox jComboBoxVolume;
    private javax.swing.JComboBox jComboBoxYeast;
    private com.toedter.calendar.JDateChooser jDateChooser1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel100;
    private javax.swing.JLabel jLabel101;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel26;
    private javax.swing.JLabel jLabel27;
    private javax.swing.JLabel jLabel28;
    private javax.swing.JLabel jLabel29;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel30;
    private javax.swing.JLabel jLabel31;
    private javax.swing.JLabel jLabel32;
    private javax.swing.JLabel jLabel33;
    private javax.swing.JLabel jLabel34;
    private javax.swing.JLabel jLabel35;
    private javax.swing.JLabel jLabel36;
    private javax.swing.JLabel jLabel37;
    private javax.swing.JLabel jLabel38;
    private javax.swing.JLabel jLabel39;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel40;
    private javax.swing.JLabel jLabel41;
    private javax.swing.JLabel jLabel42;
    private javax.swing.JLabel jLabel43;
    private javax.swing.JLabel jLabel44;
    private javax.swing.JLabel jLabel45;
    private javax.swing.JLabel jLabel46;
    private javax.swing.JLabel jLabel47;
    private javax.swing.JLabel jLabel48;
    private javax.swing.JLabel jLabel49;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel50;
    private javax.swing.JLabel jLabel51;
    private javax.swing.JLabel jLabel52;
    private javax.swing.JLabel jLabel53;
    private javax.swing.JLabel jLabel54;
    private javax.swing.JLabel jLabel55;
    private javax.swing.JLabel jLabel56;
    private javax.swing.JLabel jLabel57;
    private javax.swing.JLabel jLabel58;
    private javax.swing.JLabel jLabel59;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel60;
    private javax.swing.JLabel jLabel61;
    private javax.swing.JLabel jLabel62;
    private javax.swing.JLabel jLabel63;
    private javax.swing.JLabel jLabel64;
    private javax.swing.JLabel jLabel65;
    private javax.swing.JLabel jLabel66;
    private javax.swing.JLabel jLabel67;
    private javax.swing.JLabel jLabel68;
    private javax.swing.JLabel jLabel69;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel70;
    private javax.swing.JLabel jLabel71;
    private javax.swing.JLabel jLabel72;
    private javax.swing.JLabel jLabel73;
    private javax.swing.JLabel jLabel74;
    private javax.swing.JLabel jLabel75;
    private javax.swing.JLabel jLabel76;
    private javax.swing.JLabel jLabel77;
    private javax.swing.JLabel jLabel78;
    private javax.swing.JLabel jLabel7TargetTemp;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel80;
    private javax.swing.JLabel jLabel81;
    private javax.swing.JLabel jLabel82;
    private javax.swing.JLabel jLabel83;
    private javax.swing.JLabel jLabel84;
    private javax.swing.JLabel jLabel85;
    private javax.swing.JLabel jLabel86;
    private javax.swing.JLabel jLabel87;
    private javax.swing.JLabel jLabel88;
    private javax.swing.JLabel jLabel89;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JLabel jLabel90;
    private javax.swing.JLabel jLabel91;
    private javax.swing.JLabel jLabel92;
    private javax.swing.JLabel jLabel93;
    private javax.swing.JLabel jLabel94;
    private javax.swing.JLabel jLabel95;
    private javax.swing.JLabel jLabel96;
    private javax.swing.JLabel jLabel97;
    private javax.swing.JLabel jLabel98;
    private javax.swing.JLabel jLabel99;
    private javax.swing.JLabel jLabelABV;
    private javax.swing.JLabel jLabelABW;
    private javax.swing.JLabel jLabelAOG;
    private javax.swing.JLabel jLabelATG;
    private javax.swing.JLabel jLabelAVol;
    private javax.swing.JLabel jLabelBID;
    private javax.swing.JLabel jLabelBState;
    private javax.swing.JLabel jLabelBatch;
    private javax.swing.JLabel jLabelBeer;
    private javax.swing.JLabel jLabelBoilTime;
    private javax.swing.JLabel jLabelCaCl;
    private javax.swing.JLabel jLabelChalk;
    private javax.swing.JLabel jLabelCon;
    private javax.swing.JLabel jLabelCondDate;
    private javax.swing.JLabel jLabelCondMoved;
    private javax.swing.JLabel jLabelCondPSI;
    private javax.swing.JLabel jLabelCondSG;
    private javax.swing.JLabel jLabelCondTemp;
    private javax.swing.JLabel jLabelCondTime;
    private javax.swing.JLabel jLabelCondVes;
    private javax.swing.JLabel jLabelEps;
    private javax.swing.JLabel jLabelEstOG;
    private javax.swing.JLabel jLabelGyp;
    private javax.swing.JLabel jLabelHopBT1;
    private javax.swing.JLabel jLabelHopBT10;
    private javax.swing.JLabel jLabelHopBT2;
    private javax.swing.JLabel jLabelHopBT3;
    private javax.swing.JLabel jLabelHopBT4;
    private javax.swing.JLabel jLabelHopBT5;
    private javax.swing.JLabel jLabelHopBT6;
    private javax.swing.JLabel jLabelHopBT7;
    private javax.swing.JLabel jLabelHopBT8;
    private javax.swing.JLabel jLabelHopBT9;
    private javax.swing.JLabel jLabelHopExp1;
    private javax.swing.JLabel jLabelHopExp10;
    private javax.swing.JLabel jLabelHopExp2;
    private javax.swing.JLabel jLabelHopExp3;
    private javax.swing.JLabel jLabelHopExp4;
    private javax.swing.JLabel jLabelHopExp5;
    private javax.swing.JLabel jLabelHopExp6;
    private javax.swing.JLabel jLabelHopExp7;
    private javax.swing.JLabel jLabelHopExp8;
    private javax.swing.JLabel jLabelHopExp9;
    private javax.swing.JLabel jLabelHopIBU1;
    private javax.swing.JLabel jLabelHopIBU10;
    private javax.swing.JLabel jLabelHopIBU2;
    private javax.swing.JLabel jLabelHopIBU3;
    private javax.swing.JLabel jLabelHopIBU4;
    private javax.swing.JLabel jLabelHopIBU5;
    private javax.swing.JLabel jLabelHopIBU6;
    private javax.swing.JLabel jLabelHopIBU7;
    private javax.swing.JLabel jLabelHopIBU8;
    private javax.swing.JLabel jLabelHopIBU9;
    private javax.swing.JLabel jLabelHopUtil1;
    private javax.swing.JLabel jLabelHopUtil10;
    private javax.swing.JLabel jLabelHopUtil2;
    private javax.swing.JLabel jLabelHopUtil3;
    private javax.swing.JLabel jLabelHopUtil4;
    private javax.swing.JLabel jLabelHopUtil5;
    private javax.swing.JLabel jLabelHopUtil6;
    private javax.swing.JLabel jLabelHopUtil7;
    private javax.swing.JLabel jLabelHopUtil8;
    private javax.swing.JLabel jLabelHopUtil9;
    private javax.swing.JLabel jLabelHydTime;
    private javax.swing.JLabel jLabelHydVol;
    private javax.swing.JLabel jLabelIBU;
    private javax.swing.JLabel jLabelKOTime;
    private javax.swing.JLabel jLabelLagDate;
    private javax.swing.JLabel jLabelLagMoved;
    private javax.swing.JLabel jLabelLagNotes;
    private javax.swing.JLabel jLabelLagSG;
    private javax.swing.JLabel jLabelLagTemp;
    private javax.swing.JLabel jLabelLagTime;
    private javax.swing.JLabel jLabelLagVes;
    private javax.swing.JLabel jLabelMashTemp;
    private javax.swing.JLabel jLabelMashTime;
    private javax.swing.JLabel jLabelNaCl;
    private javax.swing.JLabel jLabelPkgDate;
    private javax.swing.JLabel jLabelPri;
    private javax.swing.JLabel jLabelRestTime;
    private javax.swing.JLabel jLabelSec;
    private javax.swing.JLabel jLabelSpargeTime;
    private javax.swing.JLabel jLabelTOG;
    private javax.swing.JLabel jLabelTVOL;
    private javax.swing.JLabel jLabelVorlauft;
    private javax.swing.JLabel jLabelWPTime;
    private javax.swing.JLabel jLabelYeastGen;
    private javax.swing.JLabel jLabeli1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel15;
    private javax.swing.JPanel jPanel16;
    private javax.swing.JPanel jPanel17;
    private javax.swing.JPanel jPanel18;
    private javax.swing.JPanel jPanel19;
    private javax.swing.JPanel jPanel20;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPopupMenu jPopupMenu1;
    private javax.swing.JRadioButton jRadioButtonFreshPitch;
    private javax.swing.JRadioButton jRadioButtonN1;
    private javax.swing.JRadioButton jRadioButtonN2;
    private javax.swing.JRadioButton jRadioButtonN3;
    private javax.swing.JRadioButton jRadioButtonN4;
    private javax.swing.JRadioButton jRadioButtonN5;
    private javax.swing.JRadioButton jRadioButtonN6;
    private javax.swing.JRadioButton jRadioButtonRePitch;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTable jTableCrash;
    private javax.swing.JTable jTableDRest;
    private javax.swing.JTable jTableMalt;
    private javax.swing.JTable jTablePrimaryFermentation;
    private javax.swing.JTextField jTextFieldBoilStart;
    private javax.swing.JTextField jTextFieldBoilStop;
    private javax.swing.JTextField jTextFieldFlowRate;
    private javax.swing.JTextField jTextFieldHopLbs1;
    private javax.swing.JTextField jTextFieldHopLbs10;
    private javax.swing.JTextField jTextFieldHopLbs2;
    private javax.swing.JTextField jTextFieldHopLbs3;
    private javax.swing.JTextField jTextFieldHopLbs4;
    private javax.swing.JTextField jTextFieldHopLbs5;
    private javax.swing.JTextField jTextFieldHopLbs6;
    private javax.swing.JTextField jTextFieldHopLbs7;
    private javax.swing.JTextField jTextFieldHopLbs8;
    private javax.swing.JTextField jTextFieldHopLbs9;
    private javax.swing.JTextField jTextFieldHopTime1;
    private javax.swing.JTextField jTextFieldHopTime10;
    private javax.swing.JTextField jTextFieldHopTime2;
    private javax.swing.JTextField jTextFieldHopTime3;
    private javax.swing.JTextField jTextFieldHopTime4;
    private javax.swing.JTextField jTextFieldHopTime5;
    private javax.swing.JTextField jTextFieldHopTime6;
    private javax.swing.JTextField jTextFieldHopTime7;
    private javax.swing.JTextField jTextFieldHopTime8;
    private javax.swing.JTextField jTextFieldHopTime9;
    private javax.swing.JTextField jTextFieldHydStart;
    private javax.swing.JTextField jTextFieldHydStop;
    private javax.swing.JTextField jTextFieldHydTemp;
    private javax.swing.JTextField jTextFieldKOStart;
    private javax.swing.JTextField jTextFieldKOStop;
    private javax.swing.JTextField jTextFieldKOTemp;
    private javax.swing.JTextField jTextFieldMashNotes;
    private javax.swing.JTextField jTextFieldMashPh;
    private javax.swing.JTextField jTextFieldMashStart;
    private javax.swing.JTextField jTextFieldMashStop;
    private javax.swing.JTextField jTextFieldMashTemp;
    private javax.swing.JTextField jTextFieldMineral1;
    private javax.swing.JTextField jTextFieldMineral2;
    private javax.swing.JTextField jTextFieldMineral3;
    private javax.swing.JTextField jTextFieldMineral4;
    private javax.swing.JTextField jTextFieldMineral5;
    private javax.swing.JTextField jTextFieldO2;
    private javax.swing.JTextField jTextFieldOG;
    private javax.swing.JTextField jTextFieldPBGrav;
    private javax.swing.JTextField jTextFieldPBVol;
    private javax.swing.JTextField jTextFieldPitchTime;
    private javax.swing.JTextField jTextFieldRestStart;
    private javax.swing.JTextField jTextFieldRestStop;
    private javax.swing.JTextField jTextFieldSNum;
    private javax.swing.JTextField jTextFieldSpargeGrav;
    private javax.swing.JTextField jTextFieldSpargeNotes;
    private javax.swing.JTextField jTextFieldSpargePh;
    private javax.swing.JTextField jTextFieldSpargeStart;
    private javax.swing.JTextField jTextFieldSpargeStop;
    private javax.swing.JTextField jTextFieldSpargeTemp;
    private javax.swing.JTextField jTextFieldVolFin;
    private javax.swing.JTextField jTextFieldVorStart;
    private javax.swing.JTextField jTextFieldWhirlStart;
    private javax.swing.JTextField jTextFieldWhirlStop;
    private javax.swing.JTextField jTextFieldWortpH;
    private javax.swing.JTextField jTextFieldYeastVol;
    // End of variables declaration//GEN-END:variables

}
